我正在循環查詢集並獲取一對多字段。現在,對於每個調用都有一個正在被觸發的查詢。 Django 1.4有prefetch_related。我該如何做與Django 1.3.1類似的東西?在Django 1.3.1中預取一對多記錄
0
A
回答
0
嘗試https://github.com/ionelmc/django-prefetch
聽起來不錯:
簡單和通用模型相關的Django的數據預取架構解決了「1個+ N次查詢」的問題時,你需要爲你的對象的相關數據發生這種情況。在大多數情況下,您將有前向關係(外鍵爲某事),並可以使用select_related在相同的查詢中獲取該數據。但是,在某些情況下,您不能以這種方式設計模型,並需要來自反向關係的數據(對象具有外鍵的模型)。 Django 1.4爲此提供了prefetch_related,但是,該框架提供了比Django 1.4的prefetch_related queryset方法更大的靈活性,代價是寫入數據的映射和查詢函數。這有一個好處,就是你可以做prefetch_related不能做的事情(見下面的latest_book例子)。
+0
同意(對於1到N)。另外使用select_related進行N對1(FK)。 – laffuste
相關問題
- 1. 預取一對多關係django ORM
- 2. 多對多訂購記錄django
- 3. pkg_resources.DistributionNotFound:在Django中創建一個新項目時Django == 1.3.1
- 4. Django 1.3.1 Heroku Postgres error
- 5. 預填充多筆記錄
- 6. 在一對多關係中記錄其中一個記錄的計算屬性
- 7. Django一次創建多條記錄
- 8. 在django查詢中獲取多個月的記錄
- 9. mysql中的一對多記錄顯示
- 10. Django在相關模型中針對零記錄的多對多查詢
- 11. 如何在django admin中獲取對象的歷史記錄?
- 12. 在一行中獲取一對多關係中的每條記錄
- 13. 獲取一對多關係中的所有子記錄
- 14. Django MySQL - 在數據庫中一起保存多個記錄
- 15. 在django管理面板中一次添加多條記錄
- 16. 多對一做多個查詢獲取記錄
- 17. 在多對多關係中獲取兩個字段上的唯一記錄
- 18. 軌道預取記錄在隊列
- 19. Kohana ORM在多對多關係中獲得一個記錄
- 20. 在SSIS中獲取多條記錄
- 21. 對蝦PDF和多記錄記錄
- 22. django多對多字段:僅預取主鍵
- 23. 參考現有記錄或添加新記錄許多一對多在EF
- 24. 如何在php活動記錄中獲得一對多的所有者記錄
- 25. 多對多字段查找記錄
- 26. Django一對多
- 27. django一對多
- 28. 與預先存在的記錄數據庫創建一對多關係
- 29. 從多對多關係表中取回最新記錄
- 30. 多對多 - 從表格中獲取適當的記錄 - EF LINQ
我已經在我的博客上寫過關於這方面的各種技巧:http://blog.roseman.org.uk/2010/01/11/django-patterns-part-2-efficient-reverse-lookups/ –