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

SQLAlchemy使用automap查询返回类对象而非表实际结果如何解决

你当前拿到的<sqlalchemy.ext.automap.city at 0x15f7a87b8>是SQLAlchemy ORM返回的city表对应行的实体对象,本身已经包含了完整的查询结果,不需要额外配置,用以下方法即可取出实际数据:

方法1:直接访问对象属性

表的所有字段会自动映射为实体类的属性,直接调用即可取对应字段值,假设你的city表有id、city_name、province_code字段,示例如下:

# 取单个字段值
print(dm.id)
print(dm.city_name)
print(dm.province_code)

方法2:转字典格式获取全量字段

如果需要一次性拿到所有字段的键值对,可以通过__dict__属性转换,注意移除SQLAlchemy自动生成的内部属性_sa_instance_state:

res = dm.__dict__
res.pop('_sa_instance_state', None)
print(res)
# 输出示例:{'id': 1, 'city_name': '上海', 'province_code': '310000'}

方法3:查询时直接指定字段返回元组

如果不需要完整实体对象,查询时直接指定要返回的字段,返回结果为对应值的元组:

dm = session.query(City.id, City.city_name).first()
print(dm)
# 输出示例:(1, '上海')

方法4:转有序字典

也可以调用_asdict()方法直接生成有序字典:

res = dm._asdict()
print(res)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:03