MalekBV
@MalekBV

Django_filters. Как сделать внешний ключ в виде множества Чекбоксов?

Мне нужно заменить такой вид:
5hoFs.png

На такой:
ZnIu9.png

Модели
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())


Как я могу фильтровать продукты по категориям используя чекбоксы?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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