如何在SQLAlchemy中急切加载所有关系

时间:2015-01-13 23:38:24

标签: sqlalchemy

我有以下型号:

class Item(Base):
    a = relationship(<whatever>)
    b = relationship(<whatever>)
    c = relationship(<whatever>)
    d = relationship(<whatever>)
    other_stuff = Column(<whatever>)

大多数情况下,我只想查看other_stuff列,因此我不会在关系中指定lazy='joined'。但有时,我想看到所有连接的字段,我希望它们在一个SQL查询中加载。我可以做到以下几点:

query(Item).options(joinedload('a')).options(joinedload('b')).options(joinedload('c')).options(joinedload('d'))

但我觉得这是一个很常见的用例,必须有一个更漂亮的方法。

1 个答案:

答案 0 :(得分:0)

您可以简单地说.options(joinedload('*'))

以供参考:http://docs.sqlalchemy.org/en/latest/orm/loading_relationships.html#wildcard-loading-strategies