как сделать соединение в запросе сеанса sqlalchemy? - PullRequest
9 голосов
/ 05 июля 2011

Мне нужно найти эквивалент этого запроса в sqlalchemy.

SELECT u.user_id, u.user_name, c.country FROM
table_user u , table_country c WHERE u.user_email = 'abc@def.com'

Я попробовал это ниже код:

session.query(User).join(Country.country).filter(User.user_email == 'abc@def.com').first()

и это дало мне ошибку ниже:

  AttributeError: 'ColumnProperty' object has no attribute 'mapper'

Кто-нибудь может привести пример запроса на соединение с таблицами, сопоставленными с объектами нового класса?

1 Ответ

20 голосов
/ 05 июля 2011

Попробуйте, предполагая, что ваш пользовательский маппер имеет отношение к настроенной стране.

user, country = session.query(User, Country.country).join(Country).filter(User.user_email == 'abc@def.com').first()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...