2
假設我有Table_A
,並且我想在它們都有的兩個字段school_id
和type_id
上加入Table_B
。在SQL中,這看起來像:加入到除主鍵以外的字段中的另一個表
SELECT whatever
FROM Table_A
INNER JOIN Table_B
ON (Table_A.school_id = Table_B.school_id
AND Table_A.type_id = Table_B.type_id)
據我所知,Django通過在模型中定義的外鍵/主鍵進行連接。因此,如果您要執行A.objects.filter(B__field2="stuff")
,那麼除了將Table_B.field2=stuff
置於WHERE
子句之外,它將隱含加入A.B_id = B.id
。有沒有辦法改爲加入我選擇的鍵,就像上面的SQL查詢一樣?
A.B_id = B.id'由於某種原因不正確? – jbindel 2012-01-13 00:30:34
我不想以這種方式限制..即使「Table_A」不是它的子項,我也想允許'Table_A'加入到'Table_B'中 – babonk 2012-01-13 00:32:55
您確定它是最好的(或唯一的)解決你的任務?你能展示你的模型並描述你想要得到的結果嗎? – DrTyrsa 2012-01-13 07:14:09