How to mix queryset results?

后端 未结 3 1708
走了就别回头了
走了就别回头了 2020-12-29 09:54

I have query:

items = MyModel.objects.all().order_by(\'nr\')[:10]

and I get 10 items with higher number. Now I have to mix these results. H

3条回答
  •  Happy的楠姐
    2020-12-29 10:19

    You can't reorder a query once a slice has been taken, so use different approach

    import random
    items = sorted(MyModel.objects.all().order_by('nr')[:10], key=lambda x: random.random())
    

提交回复
热议问题