GenericAPIView должен либо включать атрибут serializer_class, либо переопределять метод get_serializer_class (). - PullRequest
0 голосов
/ 30 мая 2020
class GenericAPIView(generics.GenericAPIView,mixins.ListModelMixin):
  queryset=Article.objects.all()
  serilizer_class=ArticleSerializer
  def get(self,request):
      return self.list(request)

Ответы [ 2 ]

1 голос
/ 04 июля 2020

это класс_сериализатора не класс_серилизатора

0 голосов
/ 30 мая 2020

Самый простой - переопределить атрибут serializer_class из GenericAPIView:

class GenericAPIView(generics.GenericAPIView, mixins.ListModelMixin):

    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

    def get (self,request):
        return self.list(request)

В качестве альтернативы вы можете переопределить метод get_serializer_class() из GenericAPIView:

class GenericAPIView(generics.GenericAPIView, mixins.ListModelMixin):

    queryset = Article.objects.all()

    def get_serializer_class(self):
        return ArticleSerializer

    def get (self,request):
        return self.list(request)

Второе решение будет лучше, если вам нужно использовать разные сериализаторы в зависимости от ситуации, которая может возникнуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...