我在Django中的模型之間有兩種關係,一種是Foo
和Bar
之間的多對多關係,Foo
上的一個外鍵指向Bar
。Django使用錯誤的外鍵進行連接
當我做一個涉及Foo
和Bar
的查詢時,django堅持使用外鍵而不是M2M來進行連接。
(該M2M是這裏的真實數據,外鍵只是有點緩存,所以我可以通過一定的方法創建的最新Bar
)
因此,例如,(其中foos
是衆多在Bar
一對多關係名)
Bar.objects.filter(foos__attribute = True)
不具有該屬性返回所有Bar
S的,但只有一個Bar
是Foo
指出在與FK。我如何強制它使用M2M?或者這完全是一個壞主意?
刪除'mysql'關鍵字,因爲它是無關的。 – patrys
爲什麼不在調用'.filter()'的時候使用外鍵名? – patrys
@patrys對不起我的例子吸了。再次檢查一下。 – Dave