Django过滤器:带有复选框小部件的Choicefilter不起作用

时间:2018-11-07 13:17:47

标签: django

因此,我正在使用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是模型字段的一种选择)

谢谢=]

0 个答案:

没有答案