【问题标题】:How can I get the types of entities in an SQLALchemy query如何获取 SQLALchemy 查询中的实体类型
【发布时间】:2010-06-10 12:20:14
【问题描述】:

我知道如何获取将从 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] 或类似的东西!

【问题讨论】:

    标签: python sql sqlalchemy


    【解决方案1】:

    你可以试试这个:

    [e.mapper.class_ for e in q._entities]
    

    虽然我不希望直接使用 _entities 属性并找到其他方法来访问它,但 AFAIK 没有。

    【讨论】:

      【解决方案2】:

      sqlalchemy_utils 模块有一个名为 get_query_entities 的函数来完成这项工作

      https://sqlalchemy-utils.readthedocs.io/en/latest/orm_helpers.html#sqlalchemy_utils.functions.get_query_entities

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-03
        • 2018-05-28
        • 1970-01-01
        • 2022-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多