diff options
| author | Tom Christie | 2013-01-02 13:27:00 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-01-02 13:27:00 +0000 |
| commit | eff40391fb66f441d2f5a643d5d46f198cf77147 (patch) | |
| tree | ce768dbccfa7194005299762b972874f6b5de156 /rest_framework/generics.py | |
| parent | d379997aba5b1e41309bbed8740ed704c0feb58b (diff) | |
| parent | 389ca3b3b1faa90ea4624f495115d83024fdc151 (diff) | |
| download | django-rest-framework-eff40391fb66f441d2f5a643d5d46f198cf77147.tar.bz2 | |
Merge branch 'patch-support' of https://github.com/ahankinson/django-rest-framework into patch
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) |
