Django restframework 序列化程序响应自定义消息

Django restframework serializer response custom message

我正在尝试覆盖序列化程序的响应消息(return 数据)。下面是我的示例代码。

models.py

from django.db import models

class MyModel(models.Model):
    name = models.charField()
    email = models.EmailField()
    phone = models.charField()

serializer.py

from rest_framework import serializers

class MyModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = ('id', 'name', 'email', 'phone')

    def validate(self, data):
        '''
            Some validation here
        '''
        return data

views.py

from rest_framework import generics

class MyModelList(generics.ListCreateAPIView):
    queryset = MyModel.objects.all().order_by('-id')
    serializer_class = MyModelSerializer

在这里,当我尝试 post 数据时,序列化程序 return 响应 json 格式如下

{
    'id': 2,
    'name': 'myname',
    'email': 'mayname@example.com',
    'phone': 8569874587,
}

但如果 post 成功,我想 return 自定义 json 响应。

{
    'success' : 'data posted successfully',
}

伙计们,我怎样才能为自定义消息覆盖这个,请帮助我,这将是非常棒的,提前致谢。

覆盖ListCreateAPIView

的create方法
def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(
             {"Success": "Data posted successfully"},
             status=status.HTTP_201_CREATED,
             headers=headers)