loader777
@loader777
Python/django разработчик

Django. Как отсортировать queryset по кастомному методу?

Есть модель товары, с кастомным методом discount_price, который считает цену товара со скидкой.
Расчет не тривиальный и в один запрос не делается.

Не могу найти хорошего способа как сортировать и делать выборки по этой цене.
Кто сталкивался с подобной проблемой, подскажите куда копать.
  • Вопрос задан
  • 890 просмотров
Пригласить эксперта
Ответы на вопрос 3
@deliro
Нет никакого нормального способа отсортировать «по методу», оставив выборку типом QuerySet. Можно перенести логику в SQL и отсортировать там.
Ответ написан
Tash1moto
@Tash1moto
Entry.objects.order_by('discount_price')
Ответ написан
Комментировать
reli
@reli
Python-devel
Если например понадобится сортировать по другому полю другой таблицы, делаешь аннотацию, и можешь по тому лукапу фильтровать или сортировать. Очень в свое время спасла.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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