Игорь Лютоев: собственно, задача простая. Нужно только четко проговорить с бизнесом, как все должно работать и реализовать.
Под "простым решением", я подразумеваю встроенное в орм или однострочник на питоне (без потери производительности)
Как вариант, для начала можно сортировать по базовой цене и "заставлять" пользователя искать самому самую меньшую цену - так можно увеличить глубину просмотров.
*Для некоторых категорий пользователей
Сортировка по рубрике и бренду - делается сразу и без проблем
По товару
делаем поля
base_price - базовая цена без скидки
current_price - цена для продажи или равна base_price, или меньше
Сортируем все по current_price
"Обычно" не парятся и делают скидки для пользователя только в корзине
Игорь Лютоев: да, отдельно
Тк скидки будут меняться
И добавь детали, как скидки применяются: действует только одна, вкладываются друг в друга, суммируются,...
Добавь детали в вопрос - они важны
Я не вижу простого решения такой задачи = нужно писать процедуру (или сложный селект), или упрощать модель скидок, или убирать пользовательскую скидку, или ...