我有Django模型有問題,我不知道如何創建一個查詢...如何查詢SELECT WHERE EXISTS ......在Django
我有三個類/型號:
- 一個剛剛名(和id)
- B有姓名,身份證件和外鍵一個
- C有外鍵在其他領域到B。
所以每次C有其A(而每一個可以有更多的作爲),但不直接有它的外鍵 - 它要經過B.
我有Cs的一個子集通過了另一個查詢。現在我想選擇一個子集中有C的As。我該怎麼辦?
我有Django模型有問題,我不知道如何創建一個查詢...如何查詢SELECT WHERE EXISTS ......在Django
我有三個類/型號:
所以每次C有其A(而每一個可以有更多的作爲),但不直接有它的外鍵 - 它要經過B.
我有Cs的一個子集通過了另一個查詢。現在我想選擇一個子集中有C的As。我該怎麼辦?
假設c_subset
是,你有C
對象的子集,以獲得A
S的具有這些C
小號 你可以做
>>> A.objects.filter(b__c__in = c_subset)
這個作品但它增加了很多查詢(根據調試工具欄)並減慢了應用程序。你能否加一些解釋它究竟做什麼以及如何做?謝謝 – djangonoob
@djangonoob,它非常直截了當。 '__'跟在關係之後,'__in'看起來在列表中。 Django引用作爲很好的解釋。 – Rohan
不應該添加一個新的查詢,對吧?它不是在循環中或什麼的,當我的視圖被調用/使用/刷新時,它會被調用一次。 – djangonoob
順便說一句,請務必仔細閱讀[講述](HTTP://計算器.com/about)網站,除了解釋這個網站與通常的論壇(例如投票)不同之外,還會獲得一張閃亮的歡迎徽章;) –
歡迎來到Stack Overflow!你能否在這裏發佈代碼的相關部分[你已經擁有](http://whathaveyoutried.com)? –
恐怕由於授權問題,這是不可能的。 – djangonoob