提交后用户完成更新数据后,我试图返回一些自定义消息。如何在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)