class DocumentFilterSet(FilterSet): period = django_filters.ChoiceFilter( choices=Periods.choices, label='Period', field_name='period', method='period_filter', ) def period_filter(self, queryset, name, value): if value: return queryset.filter(period=value) else: return queryset.filter(period='default_period')