SQLAlchemy ORMクエリがある場合:
admin_users = Session.query(User).filter_by(is_admin=True)
そのクエリによって返される列を変更することは可能ですか?
たとえば、User.id
列のみを選択して、それをサブクエリで使用できるようにするには、次のようにします。
admin_email_addresses = Session.query(EmailAddress)\
.filter(EmailAddress.user_id.in_(admin_users.select_columns(User.id))
注:この.values()
メソッドはクエリを実行し、反復可能な結果を返すため、機能しません(つまり、たとえば、EmailAddress.user_id.in_(admin_users.values(User.id))
1つではなく2つのクエリを実行します)。
最初のクエリをに変更できることは知っていますがSession.query(User.id)
、クエリによって返される列をどのように変更できるのか、特に疑問に思っています。