我知道如何获取将从select语句返回的列,但是如何获取将从sqlalchemy.orm.Query对象返回的实体?
>>> sess = Session()
>>> q = sess.query(Entity1, Entity2)
>>> q.statement.c.keys()
['e1_col1', 'e1_col2', ..., 'e2_col1', 'e2_col2, ...]
我想要[Entity1, Entity2]
或类似的东西!
答案 0 :(得分:2)
你可以试试这个:
[e.mapper.class_ for e in q._entities]
虽然我不想直接使用_entities属性并找到其他方法来访问它,但AFAIK没有。
答案 1 :(得分:0)
sqlalchemy_utils模块具有一个名为get_query_entities的函数来完成工作