2016-08-25 1 views
1

목록을 무시하면 필터 백엔드가 작동하지 않습니다. 목록 정의를 재정의하면 내 필터를 적용하는 방법?목록을 재정의 할 때 필터 백엔드를 추가하는 방법은 무엇입니까?

+0

이 문제에 대한 해결책을 찾았는지 궁금합니다. 당신이 그것을 공유 할 수 있다면 감사하겠습니다. 고마워! – Chris

+0

@Chris 아래에 내 답변을 추가했습니다. 희망이 당신을 도울 것입니다. – rechie

답변

0

나는 전에이 문제에 직면했다. 필자의 예에서는 filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter,) 부분을 삭제하고 필터링 작업을 시작했습니다.

2
class CircuitViewSet(viewsets.ModelViewSet): 
    queryset = Circuit.objects.all() 
    serializer_class = CircuitSerializer 
    filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter,) 
    filter_class = CircuitFilter 

    def list(self, request): 
     # with filter 
     queryset = self.filter_queryset(self.get_queryset()) 

     # pagination 
     page = self.paginate_queryset(queryset) 
     if page is not None: 
      serializer = self.get_serializer(page, many=True) 
      return self.get_paginated_response(serializer.data) 

     serializer = self.get_serializer(queryset, many=True) 
     return Response(serializer.data) 
+0

시간을 절약 해 주셨습니다. –

관련 문제