Table_A
があるとします。両方のフィールドにあるTable_B
に、school_id
とtype_id
の2つのフィールドに参加したいとします。 SQLの場合、これは次のようになります。プライマリキー以外のフィールドの別のテーブルに結合する
私が理解する限り、Djangoはモデルで定義された外部キー/主キーを使用して結合します。したがって、A.objects.filter(B__field2="stuff")
を実行する場合は、暗黙的にA.B_id = B.id
に参加し、Table_B.field2=stuff
をWHERE
節に入れます。代わりに上記のSQLクエリのように私の選択のキーに参加する方法はありますか?
何らかの理由で 'A.B_id = B.id'が間違っていますか? – jbindel
私はそのように制限したくありません。 'Table_A'がその子ではなくても、' Table_A'が 'Table_B'に加わることを許可します。 – babonk
あなたはそれが最良のあなたの仕事を解決する?あなたのモデルを見せて、得たい結果を記述できますか? – DrTyrsa