我讀過這個問題:In Django, how do I select 100 random records from the database?
並試圖使用Content.objects.all().order_by('?')[:30]
,但這會產生一些重複的項目。那麼如何從數據庫中選擇30 獨特的隨機值?如何使用django從數據庫(MySQL)中選擇30個唯一的隨機值?
1
A
回答
2
如果您在數據庫中有可管理數量的條目(即不是數千個),這將起作用,並且即使它擊中db兩次,它可能比order_by('?')
效率高得多。
import random
content_pks = Content.objects.values_list('pk', flat=True)
selected_pks = random.sample(content_pks, 30)
content_objects = Content.objects.filter(pk__in=selected_pks)
相關問題
- 1. 從MySQL數據庫中選擇隨機唯一的記錄使用php
- 2. 如何從MYSQL數據庫中選擇10個隨機行,並在列x中使用唯一值?
- 3. 如何從MySQL數據庫中選擇一條隨機記錄?
- 4. 從數據庫中選擇唯一值
- 5. PHP/MySQL如何從MySQL數據庫中選擇一個值?
- 6. 如何每隔30天從我的MySQL數據庫顯示一個隨機行?
- 7. 如何從相乘結果中選擇隨機唯一值
- 8. 如何從TestComplete中的數組中選擇一個隨機值?
- 9. 從數據庫中隨機選擇
- 10. 使用asp.net從mysql數據庫中選擇1個隨機數c#
- 11. 如何從數據庫中隨機選擇一行?
- 12. PHP從數據庫中獲取唯一的隨機值
- 13. 如何從數據表列中選擇幾個隨機值
- 14. 如何從MySQL中的表中選擇一個隨機行?
- 15. 從200個數字中選擇一個隨機大小的30個數字
- 16. 如何選擇隨機數據庫ID?
- 17. 如何使用select *從數據庫中選擇唯一的列值?
- 18. 從mysql數據庫中選擇一個隨機記錄,最好的方法?
- 19. 從數據庫中隨機選擇一個條目
- 20. 從數據庫中選擇一個隨機行
- 21. 唯一隨機選擇一個數組中的數字
- 22. 如何從2sxc數據流中選擇一個隨機項目?
- 23. 如何從表中隨機選擇唯一的行對?
- 24. 如何從mysql中隨機選擇10,000個數據中最多10個數據,即一次使用php?
- 25. 從MySQL數據庫中選擇隨機入口
- 26. 從數據庫中隨機選擇一行的函數!
- 27. 如何查詢mysql數據庫中的10個隨機唯一記錄?
- 28. 在Django中,如何從數據庫中選擇100條隨機記錄?
- 29. 如何編寫一個從數據庫中隨機選擇9行的查詢?
- 30. 從數據庫中選擇數組後,從數組中選擇一個隨機值
對於數百萬計的項目:您可以修改模型嗎?每次**需要不同的訂單嗎?您可以在模型中創建一個'int'索引併爲其分配'randint(MAXINT)'。然後'order_by('randindex')'。重置訂單爲「O(n)」,但可行(例如每小時/每天)。 – ppvi 2012-07-30 10:16:55