Изучаю django и зашел в тупик по реализации фильтров на странице списка товаров.
Модели:
class Products(models.Model):
date_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
date_edite = models.DateTimeField(auto_now=True, verbose_name='Дата изменения')
category = TreeForeignKey('Category', on_delete=models.SET_NULL, null=True, blank=True, verbose_name="Категория", db_index=True)
nazvanie = models.CharField(max_length=350, verbose_name='Название', db_index=True)
kodtovara = models.CharField(max_length=50, verbose_name='Фирменный код', null=True, blank=True, db_index=True)
article = models.CharField(max_length=50, verbose_name='Артикул', null=True, blank=True, db_index=True)
slug = models.SlugField(blank=True)
class PropertiesProduct(models.Model):
nazvanie = models.CharField(max_length=500, verbose_name='Название', db_index=True)
slug_nazvanie = models.SlugField(blank=True)
znachenie = models.CharField(max_length=500, verbose_name='Значение', db_index=True)
slug_znachenie = models.SlugField(blank=True)
detail = models.BooleanField(null=True, blank=True, verbose_name='Использовать как свойство в описании товара', db_index=True, default=True)
filter = models.BooleanField(null=True, blank=True, verbose_name='Использовать для фильтра', db_index=True, default=True)
register = models.BooleanField(null=True, blank=True, verbose_name='Расширенные свойства', db_index=True, default=False)
tovary = models.ForeignKey('Products', on_delete=models.SET_NULL, null=True, verbose_name='Товар', db_index=True)
Модель свойства товаров имеет строковые поля для хранения названий свойств и значений у товаров, и поле привязку к товару. Свойства вынесены в отдельную таблицу так как они будут прилетать из 1С должны постоянно добавлятся/удалятся/редактироваться при обмене с 1С. В DB свойства хранятся как на фото из админки.
Модель свойств товара
Во фронтенде хочу вывести фильтрацию к примеру как на фото:
Стандартный фильтр
Не знаю с какой стороны подступиться к реализации, может кто подскажет.