Почему django-filter использует значение None из вариантов, определенных для поля модели

Почему django-filter использует значение None из вариантов, определенных для поля модели, наряду с пустой меткой значения, используемой для отсутствия фильтрации по определенному полю?

Допустим, у нас есть следующее поле в некоторой модели:

FRUIT_CHOICES = [
    (None, 'Choose one fruit'),
    ('AP', 'Apple'),
    ('BA', 'Banana'),
    ('KI', 'Kiwi'),
]

SomeModel(models.Model):
    fruit = models.CharField(max_length=2, choices=FRUIT_CHOICES)

И фильтр определен для этой модели:

class FruitFilter(django_filters.FilterSet):
    class Meta:
        model = SomeModel
        fields = ['fruit']

И вот какой HTML мы получаем:

<select name="fruit" id="id_fruit">
    <option value="" selected="">---------</option>
    <option value="">Choose one fruit</option>
    <option value="AP">Apple</option>
    <option value="BA">Banana</option>
    <option value="KI">Kiwi</option>
</select>

В принципе, я могу исправить это, указав варианты выбора для поля в моей форме фильтра еще раз, но я чувствую, что это будет грязно, поскольку у меня много полей выбора в моей модели

Я очень старался, пытаясь исправить это, но кажется, что либо нет никакой информации об этом, либо я не могу найти правильные слова, чтобы погуглить это.

Любая помощь будет высоко оценена!

Вернуться на верх