Django запрос данных на основе флажка
Я пытаюсь запросить данные, бренды определенных товаров на основе флажков. Если флажки не установлены, то отображаются все бренды, если установлен флажок, скажем, django, то все бренды марки django запрашиваются из базы данных.
Здесь представлены флажки брендов:
{% for brand in brands.all %}
<div class="card-body" id="tabl">
<label class="custom-control custom-checkbox">
<input type="checkbox" value="{{ brand.brand }}" class="custom-control-input">
<div class="custom-control-label">{{ brand.brand}}</div>
</label>
</div>
{% endfor %}
models.py
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
views.py
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')
context = {
'products': products,
'category': category,
'brands': brands,
'title': Product,
}
return render(request, 'products/products.html', context)
Затем далее на странице я буду запрашивать продукты, но как это сделать, основываясь на том, какой флажок нажат, я не знаю.
Сейчас я просто получаю все товары в определенной категории:
{% for product in products.all %}
<article class="card card-product-list">
<div class="row no-gutters" id="table1">
<aside class="col-md-3">
<b id="displayValues">{{ product.brand }}</b>
<a href="{{ product.get_url }}" class="img-wrap">
<span class="badge badge-danger"> NEW </span>
<img src="{{ product.image.url}}">
</a>
</aside>
<div class="col-md-6">
<div class="info-main">
<a href="{{ product.get_url }}" class="h5 title">{{ product.name }}</a>
Я хочу иметь возможность выводить список товаров в зависимости от того, какой флажок нажат, если флажок нажат.