方法一
在model中加入
def to_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
在服务中调用
def all_to_json(all_vendors):
v = [ven.to_dict() for ven in all_vendors]
return v
# 查询结果调用
item = all_to_json(objs)
# 或者直接调用to_dict()
item = []
for obj in objs:
item.append(obj.to_dict())
方法二
在model中加入
def to_json(self):
dict = self.__dict__
if "_sa_instance_state" in dict:
del dict["_sa_instance_state"]
return dict
在服务中调用同上
json的坑
TypeError: datetime.datetime(2020, 6, 24, 10, 11, 32) is not JSON serializable
解决方法
import json
import datetime
# 使json支持datetime
json.JSONEncoder.default = lambda self, obj: (obj.isoformat() if isinstance(obj, datetime.datetime) else None)