Фильтр результатов поиска на основе флажка Django

Попытка фильтрации товаров по брендам с использованием чекбоксов.

модели

class Product(models.Model):
    """
    Containing the products, each product belong to
    a category and each product have a feedback system
    """
    category    = models.ForeignKey(Category, related_name='products', on_delete=CASCADE)
    name        = models.CharField(max_length=55)
    brand       = models.CharField(max_length=55)
    price       = models.FloatField()
    featured    = models.BooleanField(default=False)
    image       = ResizedImageField(size=[460,460], quality=100, upload_to='products', default='None', blank=True, null=True)
    slug        = models.SlugField(max_length=400, unique=True, blank=True)
    description = models.TextField(default='product', blank=True)

    def __str__(self):
        return self.name

просмотров

def products(request, slug):
    """
    List all products of a category
    """
    category = get_object_or_404(Category, slug=slug)
    products = Product.objects.filter(category=category)
    brands = Product.objects.filter(category=category).distinct('brand')

    # query brands and products when pressed
    list = request.GET.get('list', 'brands') == 'on'
    if list:
        products = Product.objects.filter(category=category).filter(Q(name__icontains=list) | Q(brand__icontains=list) | Q(description__icontains=list))
        brands = Product.objects.filter(category=category).filter(Q(name__icontains=list) | Q(brand__icontains=list) | Q(description__icontains=list)).distinct('brand')

    context = {
        'products': products,
        'category': category,
        'brands': brands,
        'title': Product,
    }
    return render(request, 'products/products.html', context)

html

<div class="filter-content collapse show flex-wrap" id="collapse_2" style="">
  {% for brand in brands.all %}
    <div class="card-body" id="tabl">
      <label class="form-check" onChange="window.location.href=this.value">
        <input class="form-check-input" type="checkbox" value="?list=brands" name="brands[]" id="brands{{ brand.id }}">
        <span class="form-check-label">{{ brand.brand }}</span>
      </label>
    </div>
  {% endfor %}
</div>

При нажатии на флажок, основываясь на brand.id данного флажка, он должен изменить запрос на основе товаров этого бренда, однако сейчас он возвращает 404 страницу not found. Что я здесь упускаю?

Вернуться на верх