SQLAlchemyのクエリメソッドで照会する列を制御することはできますが、照会しているオブジェクトのインスタンスはまだ返されています(部分的には取り込まれます)。SQLAlchemy:クエリ内のオブジェクトの列を選択する
またはSQLAlchemyがオブジェクトにマップするためにSELECT *
を実行する必要がありますか?
(私は、個々の列を照会することは可能ですが、結果をオブジェクトにマップするのではなく、名前付きタプルの構成要素にのみマップすることを知っています)。例えば
、ユーザーオブジェクト属性のユーザーID、名前、パスワード、およびバイオを持っていますが、あなただけが返すオブジェクトのためのユーザーIDと名前を記入するクエリしたい場合:
# hypothetical syntax, of course:
for u in session.query(User.columns[userid, name]).all():
print u
を印刷し:
<User(1, 'bob', None, None)>
<User(2, 'joe', None, None)>
...
これが可能です。もしそうなら、どうですか?
あなたはあなただけのテンプレートか何かにオフに渡している場合は、あなたのマップされたオブジェクトのようにかなりの実際の行為にやるという名前のタプルを返しており、個々の列を照会することができます
、 ['load_only()'](http://docs.sqlalchemy.org/en/latest/orm/mapper_config.html#sqlalchemy.orm.load_only)を参照してください。 – kolypto