You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL Scalars方法仅返回关联表首项,SQLAlchemy如何获取(Foo,Bar)?

解决SQLAlchemy返回多实体元组的问题
  • 直接用res.all()替代res.scalars().all()
    这是因为scalars()方法的核心作用就是提取结果集中每一行的第一个元素,所以你只会得到Foo对象的列表。而直接调用all()会返回完整的行数据,如果你查询的是Foo和Bar两个实体,结果就会是(Foo, Bar)形式的元组列表。

  • 实际查询示例:
    假设你是通过JOIN关联Foo和Bar表查询:

    res = session.query(Foo, Bar).join(Bar, Foo.id == Bar.foo_id)
    result_list = res.all()
    # 此时result_list的结构为[(Foo实例1, Bar实例1), (Foo实例2, Bar实例2), ...]
    

内容的提问来源于stack exchange,提问作者tobias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 17:42:00