Dav*_*ver 8 python orm sqlalchemy
如果我有一个SQLAlchemy ORM查询:
admin_users = Session.query(User).filter_by(is_admin=True)
Run Code Online (Sandbox Code Playgroud)
是否可以修改该查询返回的列?
例如,以便我只能选择User.id
列,并在子查询中使用它:
admin_email_addresses = Session.query(EmailAddress)\
.filter(EmailAddress.user_id.in_(admin_users.select_columns(User.id))
Run Code Online (Sandbox Code Playgroud)
注意:该.values()
方法不起作用,因为它执行查询并返回可迭代的结果(因此,ex,EmailAddress.user_id.in_(admin_users.values(User.id))
将执行两个查询,而不是一个).
我知道我可以修改第一个查询Session.query(User.id)
,但我特别想知道如何修改查询返回的列.
zzz*_*eek 16
我感觉到你的痛苦values()
.在0.6.5我添加了with_entities()
,就像values()
除了不迭代:
q = q.with_entities(User.id)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3122 次 |
最近记录: |