我正在尝试从flask-sqlalchemy中的两个表进行连接,我想要两个表中的所有列,但是如果我执行:
Company.query.join(Buyer, Buyer.buyer_id == Company.id).all()
Run Code Online (Sandbox Code Playgroud)
我只有来自 Company 的列(它返回,实际上是一个 Company 对象)。
我知道我可以这样做:
Company.query.join(Buyer, Buyer.buyer_id == Company.id) \
.add_columns(Buyer.id, Buyer.name, etc..).all()
Run Code Online (Sandbox Code Playgroud)
在这种情况下它返回:
(<Company 2>, 1, 'S67FG', etc..)
Run Code Online (Sandbox Code Playgroud)
问题是我有很多列,而且我不知道如何使用flask-marshmallow(嵌套字段不起作用)来处理返回的obj。
有没有办法用两个表中的列返回一个新的 obj ?对您而言,管理这些情况的最佳方法是什么?
任何建议都受到高度赞赏。谢谢
最后,我通过使用这个简单的 sqlalchemy 查询实现了这一点:
db.session.query(Company, Buyer).join(Buyer, Buyer.buyer_id == Company.id).all()
Run Code Online (Sandbox Code Playgroud)
它返回:
(<Company 2>, <Buyer 1, 2>)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6008 次 |
| 最近记录: |