Я хотел бы использовать 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>
Как мне добиться желаемого поведения?