From 65609f741833e45dbdd792598ce13a7035c6219d Mon Sep 17 00:00:00 2001 From: chenwj <654891551@qq.com> Date: Wed, 18 Jan 2023 11:12:53 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20=E4=BF=AE=E5=A4=8Dsqlalchemy=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E6=B3=95=E7=89=88=E6=9C=AC=E5=9B=BA=E5=AE=9A?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/biz/__init__.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/biz/__init__.py b/src/biz/__init__.py index 9cbe673..1be3ff6 100644 --- a/src/biz/__init__.py +++ b/src/biz/__init__.py @@ -5,15 +5,28 @@ from traceback import format_exc from fastapi_sqlalchemy import db from jinja2 import Template from pymysql import err +import sqlalchemy __author__ = 'Woodstock' logger = logging.getLogger("uvicorn.error") +engine = None + + +class EDatabase(Exception): + def __init__(self, *args): + super(EDatabase, self).__init__(*args) + + def result(self): + return None + + class DB: CACHE = None ACCESS_TOKEN = None IS_LOCAL_TEST = False + version = sqlalchemy.__version__ def __init__(self, session=None): """ @@ -66,7 +79,10 @@ class DB: def all(self): # 获取查询列表。把ResultProxy和RowProxy类型封装成python的list和dict类型 - data = [dict(zip(i.keys(), i.values())) for i in self.result] + if self.version.startswith('1.4'): + data = [i._asdict for i in self.result] + else: + data = [dict(zip(i.keys(), i.values())) for i in self.result] self.result.close() return data @@ -92,7 +108,10 @@ class DB: row = None # 获取第一行数据 for i in self.result: - row = dict(zip(i.keys(), i.values())) + if self.version.startswith('1.4'): + row = i._asdict() + else: + row = dict(zip(i.keys(), i.values())) break self.result.close() return row