Как смешивать результаты запроса?

У меня есть запрос:

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

и я получаю 10 предметов с более высоким номером. Теперь мне нужно смешать эти результаты. Как это сделать?

Ответ 1

Вы не можете изменить порядок запроса после того, как срез был сделан, поэтому используйте другой подход

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

Ответ 3

ОК, вы не можете повторно заказать запрос после его вставки, но вы можете сделать это вместо

import random
items = list(MyModel.objects.all().order_by('nr')[:10])
random.shuffle(items)