如何在SQLAlchemy ORM中打印所有列

17 浏览
0 Comments

如何在SQLAlchemy ORM中打印所有列

使用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文件中,我不想指定我感兴趣的列/属性,我想要全部内容(有很多列在很多模型中要打印)。

0