我有3个表:Account
,User
和Organization
。
Account
由id
,name
和organization_id
组成。User
由email
和organization_id
。Organization
由id
和name
。每个Account
都注册了Organization
(通过organization_id
),每个User
都注册了Organization
。挑战在于显示所有电子邮件(从User
)到Account
对应的name
organization_id
与organization_id
的{{1}}相匹配
这是我的代码,直到现在:
User
答案 0 :(得分:2)
加入组织ID上的用户和帐户,并根据名称进行过滤:
db.session.query(User.email).\
join(Account, Account.organization == User.organization).\
filter(Account.name == 'some name')
Query.join()
允许在使用2参数形式时将任意SQL表达式作为on子句传递。