0
假設我有3個表:A,B,C指定SQLAlchemy的 「基地」 從表
A: id, fieldA
B: id, id_a, fieldB; id_a - foreign key for A.id
C: id, id_b, fieldC; id_b - foreign key for B.id
現在我要運行該SQL查詢:
SELECT A.fieldA,
B.fieldB
FROM C
LEFT JOIN B
LEFT JOIN A
ON A.id = B.id_a
ON B.id = C.id_b
WHERE C.fieldC = :myvalue
的SQLAlchemy的查詢將是:
session.query(A.fieldA, B.fieldB).join(...).join(...).filter(C.fieldC == myvalue)
^------------------^ issue here
問題是,所有連接將應用於在查詢中選擇的表首先,即在這種情況下到A.
我可以使用一些假黑客喜歡:
session.query(C.fieldC, A.fieldA, B.fieldB).join(B).join(A).filter(C.fieldC == myvalue)
^------^ I don't need this column
但是,當然,這是不可取的。
有沒有一種方法可以指定將附加所有連接的基表?
Sheesh ...現在我覺得很愚蠢,在文檔中錯過了'select_from'。謝謝! – mishik