Мне нужно отобразить список продуктов в соответствии с тем, что пользователь выбрал в переключателях шаблона, если пользователь выбирает «мужчины», отображаются только продукты с полом = «мужчины» и так для женских товаров, так как это сделать правильно?для этого я написал несколько фрагментов, но это не сработало, и мне нужна помощь, чтобы сделать это правильно, вот мой код models.py
GENDER_CHOISES=(
('men', "Men"),
('women', "Women"),)
class Product(models.Model):
title = models.CharField(max_length=120)
slug = models.SlugField(blank=True, unique=True)
description = models.TextField()
price = models.DecimalField(decimal_places=2, max_digits=20, default=39.99)
image = models.ImageField(upload_to='products', null=True, blank=False)
featured = models.BooleanField(default=False)
active = models.BooleanField(default=True)
gender = models.CharField(max_length=120,default="" ,choices=GENDER_CHOISES)
timestamp = models.DateTimeField(auto_now_add=True)
views.py
def ProductListView(request):
if request.method=='post':
queryset = Product.objects.filter(gender=request.POST.get(['gender']))
else:
queryset = Product.objects.all()
template_name = "products/list.html"
return render(request,template_name,{'object_list':queryset})
.html
{% extends "base.html" %}
{% block content %}
<form method='post'>
<div class="mx-auto mx-0"></div>
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary">
<input type="radio" name="gender" autocomplete="off" value='men'> Men
</label>
<label class="btn btn-secondary">
<input type="radio" name="gender" autocomplete="off" value='women'> Women
</label>
</div></form>
{{object_list.count}}
<div class="row">
{% for product in object_list %}
<div class="col">
<!-- {{ forloop.counter }} -->
{% include 'products/snippets/card.html'%}
{% if forloop.counter|divisibleby:3 %}
</div></div>
<div class="row"><div class="col-12"><hr></div>
{% else %}
</div>
{% endif %}
{% endfor %}
</div>
{% endblock %}
Любая помощь приветствуется и спасибо заранее