我有模型 A
以及 B
,使用 secondary
参考模型的参数 AB
(关联表)。
使用 query(A).options(joinedload(A.b))
将生成查询:
SELECT ...
FROM a
LEFT OUTER JOIN (a_b AS a_b_1 JOIN b ON b.id = a_b_1.b_id) ON a.id = a_b_1.a_id
但是我需要连接的附加条件(不使用where!),以便在 B
. 就像这样:
SELECT ...
FROM a
LEFT OUTER JOIN (a_b AS a_b_1 JOIN b ON b.id = a_b_1.b_id AND b.flag = 1) ON a.id = a_b_1.a_id
如何使用sql炼金术来实现这一点?
1条答案
按热度按时间6rvt4ljy1#
可以将and()表达式与.outerjoin()一起使用。仅举两种型号的示例:
所以只要给
outerjoin
:希望这有帮助。