来自多个表的SQLAlchemy查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自多个表的SQLAlchemy查询相关的知识,希望对你有一定的参考价值。

我试图从两个表...我的约会和客户查询。客户端号码是我可以从客户端数据库中提取的约会中的foriegn密钥。

现在,我只是回到客人看看它在做什么,我收到此错误:TypeError:repr返回非字符串(类型元组)

 @app.route('/calendar')
def weeklycal():
    weekyrnum=request.args.get('weekyr')
    guests = db.session.query(Appointments,Clients).filter(Appointments.clientnumber == Clients.clientnumber).filter(Appointments.weekyr == weekyrnum).all()
return 

render_template(calbyWeek.html”,客人=客人)

如何查询约会和客户端中的所有内容,其中clientnumber是要加入的列(在约会模型中定义为外键),并按周过滤?

答案

引用查询中多个表中的各个列,并确保连接到其他表。

guests=db.session.query(Appointments.time,Clients.name).join(Clients).filter(Appointment.clientnumber==Clients.clientnumber).filter(Appointments.weekyr==weekyrnum).all()

如果您真正想要的只是客人,但在过滤器中使用约会,那么您还需要添加联接。

guests=db.session.query(Clients).join(Appointments).filter(Appointments.clientnumber==Clients.clientnumber).filter(Appointments.weekyr==weekyrnum).all()

以上是关于来自多个表的SQLAlchemy查询的主要内容,如果未能解决你的问题,请参考以下文章

flask 中orm关系映射 sqlalchemy的查询

SQLAlchemy filter_by 来自同一列的多个项目

SQLAlchemy Flask 过滤器查询以组合来自两个模型的结果

优化来自多个表的连接查询

将来自多个表的查询数据放入 html 表中

使用 UNION 增强来自多个表的插入查询的性能