Как настроить ответное сообщение в ModelViewSet

#python #django #django-rest-framework

#python #django #django-rest-framework

Вопрос:

Я отправлю запрос в формате post, используя ModelViewSet, и я настрою его ответное сообщение. Итак, я вернул ответ методу perform_create, как показано в следующем коде, но он работает не так, как я хочу.

 class CreateReadPostView (ModelViewSet) :
    serializer_class = PostSerializer
    permission_classes = [IsAuthenticated]
    queryset = Post.objects.all()
    pagination_class = LargeResultsSetPagination

    def perform_create (self, serializer) :
        serializer.save(author=self.request.user)
        return Response({'success': '게시물이 저장 되었습니다.'}, status=201) # it's not work
  

Как я могу заставить это работать нормально? Заранее благодарю.

Ответ №1:

Переопределить create(...) метод

 class CreateReadPostView(ModelViewSet):
    serializer_class = PostSerializer
    permission_classes = [IsAuthenticated]
    queryset = Post.objects.all()
    pagination_class = LargeResultsSetPagination

    def perform_create(self, serializer):
        serializer.save(author=self.request.user)

    def create(self, request, *args, **kwargs):
        super().create(request, *args, **kwargs)
        return Response({'success': '게시물이 저장 되었습니다.'}, status=201)