Могу ли я проверять параметры фильтра с помощью django-filters с некоторым исключением, если параметры или filter-params неверны?
Я встраиваю некоторую логику наследования в drf представления. Если я использую неправильный field-param или неправильный fild-фильтр (например, param с фильтром: ?title__contains=title, а на фронтенде мы допустили ошибку), я просто получаю Model.objects.all() запрос из self.filter_queryset без каких-либо исключений, но я предполагаю, что django-фильтр проверяет параметры внутри метода filter_queryset. Я буду очень благодарен за подсказки, в каком направлении мне нужно смотреть.
Слушайте, я использую django-filters:
class SomeView(GenericAPIView):
filter_backends = [DjangoFilterBackend]
some = SomeDTO()
def some_get(self, request: Request, serializer: serializers):
model = serializer.Meta.model
params = request.query_params
if params:
query = self.filter_queryset(model.objects.all()) # problem is hear!
else:
query = model.objects.all()
self.some.collect(serializer(query, many=True).data, status.HTTP_200_OK)
return self.uni
Drf-views выглядит следующим образом:
class CurrentView(SomeView):
filterset_class = CustomerFilter
def get(self, request: Request):
some: SomeDTO = self.some_get(request, CurrentSerializerDepth)
return Response(some.data, some.status)
def post(self, request: Request):
some: SomeDTO = self.some_create_or_update(request, CurrentSerializerFlat)
return Response(some.data, some.status)