Добавьте второе условие non null в Django FilterSet

Как добавить не нулевое ограничение ко второму полю в drf_filters.FilterSet?

В приведенном ниже случае я хотел бы наложить второе ограничение, чтобы поле модели под названием "obsolete" не было None.

class MyFilterSet(drf_filters.FilterSet):
    
    uploaded = drf_filters.IsoDateTimeFilter(
        field_name='uploaded_at',
        lookup_expr='gt',
        required=True
    )

Вы можете работать с BooleanFilter [readthedocs.io]:

class MyFilterSet(drf_filters.FilterSet):
    uploaded = drf_filters.IsoDateTimeFilter(
        field_name='uploaded_at', lookup_expr='gt', required=True
    )
    is_obsolete = drf_filters.BooleanField(
        field_name='obsolete', lookup_expr='isnull', required=True
    )

Таким образом, будет добавлен дополнительный булев фильтр, который если True будет фильтровать так, что поле obsolete должно быть NULL/None, а если False не быть None/NULL.

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