From e198a2b37673a07a7cc374175c205362da34360e Mon Sep 17 00:00:00 2001 From: Stephan Groß Date: Thu, 13 Dec 2012 16:57:17 +0100 Subject: added RetrieveUpdateAPIView --- docs/api-guide/generic-views.md | 8 ++++++++ docs/topics/release-notes.md | 4 ++++ rest_framework/generics.py | 12 ++++++++++++ 3 files changed, 24 insertions(+) diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md index 428323b8..ef09dfe5 100644 --- a/docs/api-guide/generic-views.md +++ b/docs/api-guide/generic-views.md @@ -97,6 +97,14 @@ Provides `get` and `post` method handlers. Extends: [MultipleObjectAPIView], [ListModelMixin], [CreateModelMixin] +## RetrieveUpdateAPIView + +Used for **read or update** endpoints to represent a **single model instance**. + +Provides `get` and `put` method handlers. + +Extends: [SingleObjectAPIView], [RetrieveModelMixin], [UpdateModelMixin] + ## RetrieveDestroyAPIView Used for **read or delete** endpoints to represent a **single model instance**. diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md index 4f83cfd8..a74ee520 100644 --- a/docs/topics/release-notes.md +++ b/docs/topics/release-notes.md @@ -4,6 +4,10 @@ > > — Eric S. Raymond, [The Cathedral and the Bazaar][cite]. +## Master + +* Added `RetrieveUpdateAPIView` + ## 2.1.9 **Date**: 11th Dec 2012 diff --git a/rest_framework/generics.py b/rest_framework/generics.py index dd8dfcf8..3e4f29ad 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -185,6 +185,18 @@ class ListCreateAPIView(mixins.ListModelMixin, return self.create(request, *args, **kwargs) +class RetrieveUpdateAPIView(mixins.RetrieveModelMixin, + mixins.UpdateModelMixin, + SingleObjectAPIView): + """ + Concrete view for retrieving, updating a model instance. + """ + def get(self, request, *args, **kwargs): + return self.retrieve(request, *args, **kwargs) + + def put(self, request, *args, **kwargs): + return self.update(request, *args, **kwargs) + class RetrieveDestroyAPIView(mixins.RetrieveModelMixin, mixins.DestroyModelMixin, SingleObjectAPIView): -- cgit v1.2.3 From 76c840f1bb3b934dc2127faa04704ab4b11a018b Mon Sep 17 00:00:00 2001 From: Stephan Groß Date: Thu, 13 Dec 2012 20:41:40 +0100 Subject: added missing line --- rest_framework/generics.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 3e4f29ad..507b12cb 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -197,6 +197,7 @@ class RetrieveUpdateAPIView(mixins.RetrieveModelMixin, def put(self, request, *args, **kwargs): return self.update(request, *args, **kwargs) + class RetrieveDestroyAPIView(mixins.RetrieveModelMixin, mixins.DestroyModelMixin, SingleObjectAPIView): -- cgit v1.2.3