diff --git a/src/drf_yasg/inspectors/base.py b/src/drf_yasg/inspectors/base.py index ecc53a8..8175cc9 100644 --- a/src/drf_yasg/inspectors/base.py +++ b/src/drf_yasg/inspectors/base.py @@ -4,7 +4,6 @@ import logging from django.utils.encoding import force_text from rest_framework import serializers from rest_framework.utils import encoders, json -from rest_framework.viewsets import GenericViewSet from .. import openapi from ..utils import is_list_view @@ -322,9 +321,6 @@ class ViewInspector(BaseInspector): if self.method.lower() not in ["get", "delete"]: return False - if not isinstance(self.view, GenericViewSet): - return True - return is_list_view(self.path, self.method, self.view) def get_filter_parameters(self): @@ -346,10 +342,7 @@ class ViewInspector(BaseInspector): :rtype: bool """ - if not hasattr(self.view, 'paginator'): - return False - - if self.view.paginator is None: + if not getattr(self.view, 'paginator', None): return False if self.method.lower() != 'get': diff --git a/src/drf_yasg/utils.py b/src/drf_yasg/utils.py index dd4f90d..4ffb8bd 100644 --- a/src/drf_yasg/utils.py +++ b/src/drf_yasg/utils.py @@ -166,7 +166,7 @@ def is_list_view(path, method, view): # a detail_route is surely not a list route return False - # for APIView, if it's a detail view it can't also be a list view + # for GenericAPIView, if it's a detail view it can't also be a list view if isinstance(view, (RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin)): return False