我想为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>
如何实现所需的行为?