我想要的效果是将多个结果放一个dict中返回给前端
data = {}
data['user'] = session.query(User).all()
data['order'] = session.query(Order).all()
data['count'] = session.query(Count.user_id,func.sum(Count.money).label('money')).all()
return {'code':200,'data':data}
直接这样操作会报错
ValueError: [TypeError(‘cannot convert dictionary update sequence element #0 to a sequence’), TypeError(‘vars() argument must have dict attribute’)]
data = {}
user = session.query(User).all()
#新增
data['user'] = [item.__dict__ for item in user]
order = session.query(Order).all()
#新增
data['order'] = [item.__dict__ for item in order]
count = session.query(Count.user_id,func.sum(Count.money).label('money')).all()
#新增
data['count'] = [item._asdict() for item in count]
return {'code':200,'data':data}
查询某表全部字段时
user = session.query(User).filter().all()
返回的是User这个对象列表
使用 item.dict
而查询某些字段或者多表连接时
count = session.query(Count.user_id,func.sum(Count.money.label(‘money’))).all()
其返回result对象的列表
使用 item._asdict()