首页 > 解决方案 > 如何向 request.data 添加新数据?

问题描述

我想要实现的是添加sidrequest.data以便我可以将它添加到我的序列化程序中,但我不完全确定如何实现这一点。我可以以某种方式附加它还是我必须有一个单独的序列化程序sid

class Test001(APIView):
    def __init__(self):
        self.account_sid = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        self.auth_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        self.twilio_number = 'whatsapp:+14XXXXXXXX'
        self.to_number = 'whatsapp:+14XXXXXXXXX'

    def post(self, request):


        client = Client(self.account_sid, self.auth_token)

        new_message = client.messages.create(
                                from_=self.twilio_number,
                                body=message,
                                to=self.to_number
                            )
        sid = new_message.sid

        serializer = MessageSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

标签: pythondjango

解决方案


你可以做

serializer = MessageSerializer(data={**request.data, 'sid': new_message.sid})

推荐阅读