Я разрабатываю REST API с фреймворком django rest, но не нахожу способа проверить входные данные запроса с помощью django-filters.
Например, скажем, у меня есть модель:
class Event(models.Model):
timestamp = models.DateTimeField(help_text="Time it was created")
is_important = models.BooleanField(help_text="If the event is important")
И у меня есть фильтр:
class EventFilter(filters.FilterSet):
important = filters.BooleanFilter(name='is_important')
since = filters.IsoDateTimeFilter(name='timestamp', lookup_type='gt')
class Meta:
model = Event
Если в своем запросе я вставлю неверную дату, например {url}/?since=2016-02-31T00:00Z или {url}/?since=yesterday, вместо получения обратной связи о том, что не так с запросом, API просто вернет список без каких-либо результатов. Это не означает, что разработчик сделал неверный запрос, это может просто означать, что в соответствии с этими условиями нет событий.
Обратное происходит с логическими значениями, если в моем запросе я отправлю {url}/?is_important=maybe, он вернет все результаты без какой-либо фильтрации.
Итак, мой вопрос: есть ли у DRF способ проверки такого рода входных данных и возврата содержательного ответа разработчику? Спасибо.