@ekzotika

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

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

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

Ещё вариант -- два QuerySet (товары на цену больше заданной, товары на цену меньше заданной). И из этих двух QuerySet собрать лист, поочерёдно беря записи из каждого QuerySet
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы