diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index f3695e665..cc9b68424 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -65,7 +65,7 @@ class UpdateModelMixin(object): 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 = self.get_serializer(instance, data=self.update_data(request), partial=partial) serializer.is_valid(raise_exception=True) self.perform_update(serializer) @@ -76,6 +76,9 @@ class UpdateModelMixin(object): return Response(serializer.data) + def update_data(self, request): + return request.data + def perform_update(self, serializer): serializer.save()