skoovill
skoovill

Reputation: 1199

how to do a join in sqlalchemy session query?

I need to find the equivalent of this query in sqlalchemy.

SELECT u.user_id, u.user_name, c.country FROM
table_user u , table_country c WHERE u.user_email = '[email protected]'

i tried this below code:

session.query(User).join(Country.country).filter(User.user_email == '[email protected]').first()

and this gave me below error :

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

can anyone give an example of join query with tables mapped to new class objects ?

Upvotes: 9

Views: 24681

Answers (1)

jd.
jd.

Reputation: 10948

Try this, assuming your User mapper has a relationship to Country configured.

user, country = session.query(User, Country.country).join(Country).filter(User.user_email == '[email protected]').first()

Upvotes: 20

Related Questions