【发布时间】:2018-12-09 14:53:29
【问题描述】:
我想将django-filter 用于BooleanField(blank=True, null=True)。当我开箱即用时,表单会生成三个选项:未知(无过滤)、是(True)和否(False)。但是,我需要None 的第四个选项,以便过滤器专门选择那些值为None 的记录。
我的模型(相关部分):
class Record(Model):
accepted = BooleanField(blank=True, null=True, verbose_name=_("Accepted?"))
我的过滤器(相关部分):
class RecordFilter(FilterSet):
class Meta:
model = Record
fields = OrderedDict((
("accepted", ["exact"]),
))
我的看法:
class RecordList(LoginRequiredMixin, FilterView):
model = Record
paginate_by = 25
template_name = "record/record_list.html"
filterset_class = RecordFilter
我的模板(相关部分):
<form method="get" role="form" class="form">
{{ filter.form.as_p }}
<button>{% trans "Filter" %}</button>
</form>
我怎样才能达到预期的行为?
【问题讨论】:
标签: django boolean django-filter