Я использую пакет django-filter. На моей странице отображаются все книги. У меня 5 жанров. Я хочу, чтобы кто-то мог нажать «страшную» кнопку и отфильтровать мой список книг (пользователь не должен также нажимать «отправить», только кнопку жанра).
Но сейчас, когда я нажимаю кнопку жанра, он не фильтруется. Если я не использую виджет флажка в моем файле filter.py (закомментирован), установите флажок, а затем нажмите кнопку жанра, но это выглядит некрасиво.
Заранее спасибо за помощь!
Filters.py
class BookFilter(django_filters.FilterSet):
genre = django_filters.ModelMultipleChoiceFilter(queryset=Genre.objects.all(),
#widget=CheckboxSelectMultiple)
class Meta:
model = Book
fields = ['genre']
book_list.html
<form method="get">
<ul>
{% for genre in filter.form.genre %}
<li>
<button type="submit" class="button">
{{ genre }}
</button>
</li>
{% endfor %}
</ul>
</form>
Обновление Спасибо GwynBleidD за помощь! Мне также пришлось изменить {% для жанра в filter.form.genre %} на {% для жанра в жанре_списка %}, где в моих представлениях жанр_список=Genre.objects.all(). В противном случае значение кнопки было бы value=option value=10 вместо value=10.