如何从两个表返回flask-sqlalchemy查询连接的所有列

时间:2018-01-11 11:31:34

标签: python sqlalchemy

我试图从flask-sqlalchemy中的两个表进行连接,我想要两个表中的所有列但是如果我执行:

Company.query.join(Buyer, Buyer.buyer_id == Company.id).all()

我只有公司的列(它实际上是一个公司对象)。

我知道我可以这样做:

Company.query.join(Buyer, Buyer.buyer_id == Company.id) \
             .add_columns(Buyer.id, Buyer.name, etc..).all()

在这种情况下返回:

(<Company 2>, 1, 'S67FG', etc..)

问题是我有很多专栏,而且我也不知道如何用烧瓶棉花糖将返回的obj棉花糖(嵌套的字段不起作用)。

有没有办法从两个表中返回一个包含列的新obj? 什么是管理这些情况的最佳方式?

任何建议都非常感谢。感谢

1 个答案:

答案 0 :(得分:2)

最后我通过使用这个简单的sqlalchemy查询实现了这个目标:

db.session.query(Company, Buyer).join(Buyer, Buyer.buyer_id == Company.id).all()

它返回:

(<Company 2>, <Buyer 1, 2>)