我使用了一個投票程序(Django的評級,如果有什麼差別),有一個ForeignKey到用戶等幾個領域,如最新的更改日期。Django的GenericForeignKey查找針對使用Django的GenericForeignKey一個給定的模型
我想獲得一個內容類型的所有對象,單個用戶投票支持最新變化的日期排序。據我瞭解 - 所有的信息都可以在單個表中找到(除了可以預取/緩存的content_type外)。不幸的是,每次請求content_object時,django仍然會生成額外的查詢。
所以,問題是 - 如何得到一個給定的模型所有的選票,由給定用戶,與相關對象並給予排序以最小的數據庫訪問?
編輯:現在我正在使用2個查詢 - 首先選擇所有投票,獲取所需的所有對象,通過.filter(pk__in = obj_ids)過濾,最後將它們填充到投票對象。但似乎一個可以幫助解決
不幸的是select_related不能與GFK afaik一起工作 – teferi 2011-12-26 20:02:07