因此,我正在使用Django-filter并尝试将choicefilter呈现为HTML中的复选框(因此用户可以按下复选框以选择自己的选择,而不是从列表中进行选择)。我设法在html中正确呈现了它,似乎也正确发送了url,但是使用Django-Filter过滤操作不会生效。
Filter.py:
import django_filters
from festival_list.models import Festival
from django.db import models
from django import forms
class FestivalFilter(django_filters.FilterSet):
audience_style = django_filters.ChoiceFilter(choices=Festival.audience_style_choices,widget=forms.CheckboxSelectMultiple,)
name = django_filters.CharFilter(lookup_expr='iexact')
class Meta:
model = Festival
fields = ('name','audience_style')
模板:
<form action="" method="get">
<div class="row filters-row text-center">
{% for audienceStyle in filter.form.audience_style %}
<div class="col col-pad">
{{ audienceStyle.tag }}
<label for="{{ audienceStyle.id_for_label }}"><span class=""></span>{{ audienceStyle.choice_label }}</label>
</div>
{% endfor %}
</div>
<input type="submit" value="Submit" />
当我尝试使用Django过滤器添加自动表单时,会返回一个可能提供线索的自动错误:
选择一个有效的选择。 ['Rockers']不是可用的之一 选择。
(Rockers是模型字段的一种选择)
谢谢=]