我有一个表Attendee_Handshake
,其中包含2列from_id
和to_id
,我想查询from_id
和to_id
所拥有的所有行{ {1}}列等于0,这是另一个表status
上的引用,其中Attendee_Login
和from_id
是主键。
Attendee_Handshake
to_id
from_id(foreign key)
Attendee_Login
to_id(foreign key)
login_id(primary key)
答案 0 :(得分:0)
由于您需要2个单独的Attendee_Login
引用,因此您需要一个别名:
attendee_alias = db.aliased(Attendee_Login)
然后,这是一个简单的加入和过滤问题:
Attendee_Handshake.query.\
join(Attendee_Login, Attendee_Login.login_id == Attendee_Handshake.from_id).\
join(attendee_alias, attendee_alias.login_id == Attendee_Handshake.to_id).\
filter(Attendee_Login.status == 0,
attendee_alias.status == 0)