diff options
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/rest_framework/generics.py b/rest_framework/generics.py index dd8dfcf8..14e4430e 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -47,14 +47,14 @@ class GenericAPIView(views.APIView):          return serializer_class -    def get_serializer(self, instance=None, data=None, files=None): +    def get_serializer(self, instance=None, data=None, files=None, partial=False):          """          Return the serializer instance that should be used for validating and          deserializing input, and for serializing output.          """          serializer_class = self.get_serializer_class()          context = self.get_serializer_context() -        return serializer_class(instance, data=data, files=files, context=context) +        return serializer_class(instance, data=data, files=files, partial=partial, context=context)  class MultipleObjectAPIView(MultipleObjectMixin, GenericAPIView): @@ -169,7 +169,10 @@ class UpdateAPIView(mixins.UpdateModelMixin,      Concrete view for updating a model instance.      """      def put(self, request, *args, **kwargs): -        return self.update(request, *args, **kwargs) +        return self.update(request, partial=False, *args, **kwargs) + +    def patch(self, request, *args, **kwargs): +        return self.update(request, partial=True, *args, **kwargs)  class ListCreateAPIView(mixins.ListModelMixin, @@ -209,7 +212,10 @@ class RetrieveUpdateDestroyAPIView(mixins.RetrieveModelMixin,          return self.retrieve(request, *args, **kwargs)      def put(self, request, *args, **kwargs): -        return self.update(request, *args, **kwargs) +        return self.update(request, partial=False, *args, **kwargs)      def delete(self, request, *args, **kwargs):          return self.destroy(request, *args, **kwargs) + +    def patch(self, request, *args, **kwargs): +        return self.update(request, partial=True, *args, **kwargs) | 
