SQLAlchemy: выбор столбцов объекта в запросе

Можно ли контролировать, какие столбцы запрашиваются в методе запроса SQLAlchemy, при этом возвращая экземпляры запрашиваемого объекта (хотя и частично заполненные)?

Или это необходимо для SQLAlchemy для выполнения SELECT * для сопоставления с объектом?

(я знаю, что запрос отдельных столбцов доступен, но он не сопоставляет результат с объектом, а только с компонентом именованного кортеж).

Например, если объект «Пользователь» имеет атрибуты ИД пользователя, имя, пароль и биографию, но вы хотите, чтобы запрос заполнял только ИД пользователя и имя для возвращаемых им объектов:

# 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)>
...

Возможно ли это; если да, то как?

19
задан kes 8 August 2011 в 04:16
поделиться