gpt4 book ai didi

python - 如何打印 SQLAlchemy ORM 中的所有列

转载 作者:太空狗 更新时间:2023-10-29 17:09:08 24 4
gpt4 key购买 nike

使用 SQLAlchemy,我试图以类似于以下的方式打印出我拥有的每个模型的所有属性:

SELECT * from table;

但是,我想在获得每个模型实例信息时对其进行处理。到目前为止,我能想到的最好的是:

for m in session.query(model).all():
print [getattr(m, x.__str__().split('.')[1]) for x in model.__table__.columns]
# additional code

这会给我想要的东西,但这是一种相当迂回的获取方式。我有点希望有一个属性:

m.attributes 
# or
m.columns.values

我觉得我错过了什么,有更好的方法来做到这一点。我这样做是因为我会将所有内容打印到 .CSV 文件中,并且我不想指定我感兴趣的列/属性,我想要所有内容(很多列中有很多要打印的模型)。

最佳答案

这是一篇旧帖子,但我遇到了实际数据库列名称与实例上的映射属性名称不匹配的问题。我们最终选择了这个:

from sqlalchemy import inspect
inst = inspect(model)
attr_names = [c_attr.key for c_attr in inst.mapper.column_attrs]

希望对遇到同样问题的人有所帮助!

关于python - 如何打印 SQLAlchemy ORM 中的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com