Я пытаюсь добавить фильтры даты в Django DRF viewset
models.py:
class Day(models.Model):
date = models.DateField(unique=True)
...
В представлениях я добавил набор фильтров следующим образом:
class DateFilter(filters.FilterSet):
month = filters.DateFilter(field_name='date__month', lookup_expr='exact')
class Meta:
model = Day
fields = ['month']
Я попытался определить фильтр месяца также следующим образом с той же ошибкой:
month = filters.DateFilter(field_name='date', lookup_expr='month')
И добавил в набор:
class DayViewSet( mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet):
queryset = Day.objects.all().order_by('-date')
serializer_class = DaySummarySerializer
lookup_field = 'slug'
filter_backends = [filters.DjangoFilterBackend]
filterset_class = DateFilter
Фильтр появляется в страница остального фреймворка, как задумано, но не принимает месяц, который будет передан как целое число, и возвращает следующую ошибку.
Я понимаю, что возможен обходной путь с добавлением этих фильтров непосредственно в набор запросов, но будет ли это Можно ли реализовать такие фильтры с библиотекой django -filters?