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
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())
OK, you can't re-order a queryset after you've pulled it in, but you can do this instead
import random
items = list(MyModel.objects.all().order_by('nr')[:10])
random.shuffle(items)
Curiously, this not very well documented feature works:
Country.objects.order_by('?')
source: http://www.jpstacey.info/blog/2008/09/03/random-ordering-of-query-results-in-django
Astonishingly, the existing documentation has very little Google juice, unless you search for "randomly" rather than "random".