我有疑问:
items = MyModel.objects.all().order_by('nr')[:10]
Run Code Online (Sandbox Code Playgroud)
我得到10个数字更高的物品.现在我必须混合这些结果.怎么做?
And*_*ity 19
奇怪的是,这个没有很好记录的功能有效:
Country.objects.order_by('?')
Run Code Online (Sandbox Code Playgroud)
来源:http://www.jpstacey.info/blog/2008/09/03/random-ordering-of-query-results-in-django
Ser*_*tin 16
切片拍摄后,您无法对查询重新排序,因此请使用不同的方法
import random
items = sorted(MyModel.objects.all().order_by('nr')[:10], key=lambda x: random.random())
Run Code Online (Sandbox Code Playgroud)
moo*_*pet 10
好的,您在拉入查询集后无法对其进行重新排序,但您可以这样做
import random
items = list(MyModel.objects.all().order_by('nr')[:10])
random.shuffle(items)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5117 次 |
| 最近记录: |