Как упорядочить Queryset по атрибуту EAV в Django с помощью django-filters?
Я работаю над проектом Django, в котором я использую модель EAV (Entity-Attribute-Value) для хранения динамических атрибутов для модели Product. Мне нужно позволить пользователям фильтровать и заказывать товары по цене, которая хранится как атрибут EAV (slug='price').
Моя установка: Я использую django-filters для фильтрации. Цена хранится в модели Value (часть Django EAV). Я использую аннотацию Subquery для получения цены из Value. Упорядочивание по цене работает некорректно.
Мне нужно сделать order_by price
В вашем коде bcz требуется внести несколько исправлений
модель
Value
хранит атрибуты в value_float, value_int, value_text и т.д., Поэтому, пожалуйста, убедитесь, что цена хранится в value_float, иначе аннотация может работать не так, как ожидалось.в аннотации к
Subquery
убедитесь, чтоprice
указано правильно, прежде чем заказыватьв
OrderingFilter
убедитесь, что цена указана до заказа набора запросов.