bugfix: 修复sqlalchemy执行方法版本固定导致的错误
This commit is contained in:
parent
963afc7fe8
commit
65609f7418
|
|
@ -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,6 +79,9 @@ class DB:
|
|||
|
||||
def all(self):
|
||||
# 获取查询列表。把ResultProxy和RowProxy类型封装成python的list和dict类型
|
||||
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,6 +108,9 @@ class DB:
|
|||
row = None
|
||||
# 获取第一行数据
|
||||
for i in self.result:
|
||||
if self.version.startswith('1.4'):
|
||||
row = i._asdict()
|
||||
else:
|
||||
row = dict(zip(i.keys(), i.values()))
|
||||
break
|
||||
self.result.close()
|
||||
|
|
|
|||
Loading…
Reference in New Issue