提交后用户完成更新数据后,我试图返回一些自定义消息。如何在UpdateApiView中执行此操作?

class DetailUpdateView(generics.UpdateAPIView):
    permission_classes = (permissions.IsAuthenticated,)
    lookup_field = "pk"
    serializer_class = DetailSerializers

    def get_queryset(self):
       data = Data.objects.all()
       return data


我想要回应这样的事情:

{
"message": "success",
"status": 200,
"details": [
    {
        "id": 2,
        "DOB": "2012-10-21",
        "cycle_length": "10",
        "category": "2",
        "child_dob": null,
        "Period": "10",
        "Last_cycle": "2012-10-21",
        "userid": 2
    },

最佳答案

您可以像这样从update覆盖UpdateAPIView

class DetailUpdateView(generics.UpdateAPIView):
    permission_classes = (permissions.IsAuthenticated,)
    lookup_field = "pk"
    serializer_class = DetailSerializers

    def get_queryset(self):
       data = Data.objects.all()
       return data

    def update(self, request, *args, **kwargs):
       partial = kwargs.pop('partial', False)
       instance = self.get_object()
       serializer = self.get_serializer(instance, data=request.data, partial=partial)
       serializer.is_valid(raise_exception=True)
       self.perform_update(serializer)
       result = {
        "message": "success",
        "details": serializer.data,
        "status": 200,

       }
       return Response(result)

10-06 10:36