Вы можете изменить serialzier_class
в зависимости от request.method
, используя get_serializer_class
class TimeSeriesValueDetail(generics.RetrieveUpdateAPIView):
queryset = TimeSeries.objects.all()
serializer_class = TimeSeriesValueSerializer
def get_serializer_class(self):
if self.request.method == 'PUT':
return ShortTimeSeriesSerializer
return super().get_serializer_class()
или вы можете вернуть пользовательские данные в конце обработчика put
:
class TimeSeriesValueDetail(generics.RetrieveUpdateAPIView):
def put(self, request, *args, **kwargs):
self.update(request, *args, **kwargs)
return Response(data={'success':True})
или вы можете вернуть некоторые другие данные после обновления:
class TimeSeriesValueDetail(generics.RetrieveUpdateAPIView):
...
def update(self, request, *args, **kwargs):
super().update(request, *args, **kwargs)
return Response(data={'success':True})