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

如何获取SQLAlchemy关联查询结果中的列名?

获取SQLAlchemy关联查询结果的所有列名

方法一:从ORM模型类直接提取

你查询的是Order和Item两个模型,直接通过模型类的__table__.columns就能获取所有列名:

# 获取Order的所有列名
order_columns = [col.name for col in Order.__table__.columns]
# 获取Item的所有列名
item_columns = [col.name for col in Item.__table__.columns]
# 合并得到所有列名
all_columns = order_columns + item_columns

方法二:从查询结果的实例中提取

如果想从返回的result集合里的具体对象提取,可先取第一个结果元素(需确保结果非空),再通过实例的__mapper__.columns获取列名:

if result:
    first_order, first_item = result[0]
    # 提取Order实例的列名
    order_cols = [col.key for col in first_order.__mapper__.columns]
    # 提取Item实例的列名
    item_cols = [col.key for col in first_item.__mapper__.columns]
    # 合并列名
    all_cols = order_cols + item_cols

注意事项

  • 由于你使用query(Order, Item),返回的每个结果是(Order对象, Item对象)的元组,最终列名是两个模型的列名集合
  • 若两个模型存在同名列,建议给列名添加前缀(如order_、item_)区分,避免冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:12:22