有沒有什麼辦法從查詢集中刪除select相關的?Django。從查詢集中刪除select_related
我發現,django在count()操作中添加JOIN到sql查詢。 所以,如果我們有這樣的代碼:
entities = Entities.objects.select_related('subentity').all()
#We will have INNER JOIN here..
entities.count()
我正在尋找一種方法,以消除加入。 一個重要的細節 - 我得到這個查詢集Django的進入分頁程序,所以我不能簡單地寫
Entities.objects.all().count()
我不認爲我們的情況需要重構。簡單情況 - 將實體列表插入分頁程序中。在一個查詢中使用count和inner join有點困惑,根本不需要它(相關表上沒有過濾器)。謝謝你的回答。而已。 – 2012-01-10 12:58:35
據我所知,通過給select_related提供一個參數,你在相關表上指定了一個過濾器(如果你沒有爲select_related()指定任何參數,它將獲取所有相關對象,然後所有與這些對象相關的對象等遞歸)。 – 2012-03-29 21:43:39