相关疑难解决方法(0)

SQLAlchemy ORM:修改查询返回的列

如果我有一个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),但我特别想知道如何修改查询返回的列.

python orm sqlalchemy

8
推荐指数
1
解决办法
3122
查看次数

标签 统计

orm ×1

python ×1

sqlalchemy ×1