@ekzotika

Как можно поменять местами элементы QuerySet?

Мне нужно поменять местами элементы QuerySet, чтобы на выходе элементы в нём чередовались: сначала элемент, где цена меньше определенной, за ней больше определенной, за ней меньше, больше и т.д.
Заранее спасибо за помощь!
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
Sergei_Erjemin
@Sergei_Erjemin
Улыбайся, будь самураем...
Самое очевидное -- превратить QuerySet в list и в нем уже переставлять как тебе хочется, или собирать новый list...

Либо писать raw-запрос на SQL с применением встроенных в твой SQL механизмов (два запроса -- товары на цену больше заданной, товары на цену меньше заданной... в каждый запрос добавлять какой-нибудь хитрый-ключ-номер-позиции, объединять эти запросы и результат сортировать по ключу)...

Ещё вариант -- два QuerySet (товары на цену больше заданной, товары на цену меньше заданной). И из этих двух QuerySet собрать лист, поочерёдно беря записи из каждого QuerySet
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kustiktm_kirill
@kustiktm_kirill
Покоряю мир Python'а
Я так понимаю, что тебе нужна сортировка.
https://docs.djangoproject.com/en/3.1/ref/models/q...
https://docs.djangoproject.com/en/3.1/ref/models/q...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы