Мне нужно заменить такой вид:
На такой:
Модели
class Product(models.Model):
"""Store product"""
category = models.ForeignKey(
'Category',
on_delete=models.SET_NULL,
null=True,
related_name='products'
)
class Category(models.Model):
"""Product category"""
name = models.CharField(max_length=50)
То есть у продукта есть внешний ключ на категорию и мне нужно вывести все категории в виде чекбоксов, чтобы выбирая эти категории можно было найти продукты, которые относятся к ним.
filters.py
class ProductFilter(django_filters.FilterSet):
category = django_filters.ModelMultipleChoiceFilter(queryset=Category.objects.all(), widget=forms.CheckboxSelectMultiple)
class Meta:
model = Product
fields = ['category']
Views
class ProductFilterView(ListView):
model = Product
template_name = 'store/product-filter.html'
context_object_name = 'products'
def get_context_data(self, **kwargs):
context['filter'] = ProductFilter(self.request.GET, queryset=self.get_queryset())
Как я могу фильтровать продукты по категориям используя чекбоксы?