Ja, Sie können. Nur verlängert filter_queryset
Methode des Viewset
class MyModelViewSet(viewsets.ModelViewSet):
filter_backends = (CustomFilter,)
serializer_class = MySerializer
def filter_queryset(self, queryset):
# super needs to be called to filter backends to be applied
queryset = super().filter_queryset(queryset)
# some extra filtering
return queryset
In Aktion Methoden in Viewset es tatsächlich tut dies
queryset = self.filter_queryset(self.get_queryset())
So Ihre queryset, den Serializer gesendet wird, ist derjenige, der mit filter_queryset
von
get_queryset
und dann filtriert erstellt
@ e4c5 So nach, dass Sie meine, ich habe all die Filterung in meinem 'CustomFilter' habe ich schon zu kopieren, wenn ich es in' get_queryset() 'verwenden? – primoz
Sorry war nicht aufmerksam. Du nimmst etwas über das Reiten der 'filter_backends' hinaus? – e4c5