aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/generics.py
diff options
context:
space:
mode:
authorJamie Matthews2012-10-25 12:26:08 +0100
committerJamie Matthews2012-10-25 12:26:08 +0100
commitd6e10b50fc6f1735d7dd6ee8bfd9d5d39b635b49 (patch)
tree2eba8c77b2b3b0b857c4e008488fee48255601c2 /rest_framework/generics.py
parent16e249d60ded1679bc1c978a72d9aee8c415ae14 (diff)
downloaddjango-rest-framework-d6e10b50fc6f1735d7dd6ee8bfd9d5d39b635b49.tar.bz2
Re-add implementation of multiple-operation generic views to remove diamond inheritance
Diffstat (limited to 'rest_framework/generics.py')
-rw-r--r--rest_framework/generics.py35
1 files changed, 28 insertions, 7 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py
index cfb3f29e..7a36f36a 100644
--- a/rest_framework/generics.py
+++ b/rest_framework/generics.py
@@ -144,23 +144,44 @@ class UpdateAPIView(mixins.UpdateModelMixin,
return self.update(request, *args, **kwargs)
-class ListCreateAPIView(ListAPIView,
- CreateAPIView):
+class ListCreateAPIView(mixins.ListModelMixin,
+ mixins.CreateModelMixin,
+ MultipleObjectBaseView):
"""
Concrete view for listing a queryset or creating a model instance.
"""
+ def get(self, request, *args, **kwargs):
+ return self.list(request, *args, **kwargs)
+
+ def post(self, request, *args, **kwargs):
+ return self.create(request, *args, **kwargs)
-class RetrieveDestroyAPIView(RetrieveAPIView,
- DestroyAPIView):
+class RetrieveDestroyAPIView(mixins.RetrieveModelMixin,
+ mixins.DestroyModelMixin,
+ SingleObjectBaseView):
"""
Concrete view for retrieving or deleting a model instance.
"""
+ def get(self, request, *args, **kwargs):
+ return self.retrieve(request, *args, **kwargs)
+
+ def delete(self, request, *args, **kwargs):
+ return self.destroy(request, *args, **kwargs)
-class RetrieveUpdateDestroyAPIView(RetrieveAPIView,
- UpdateAPIView,
- DestroyAPIView):
+class RetrieveUpdateDestroyAPIView(mixins.RetrieveModelMixin,
+ mixins.UpdateModelMixin,
+ mixins.DestroyModelMixin,
+ SingleObjectBaseView):
"""
Concrete view for retrieving, updating or deleting 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)
+
+ def delete(self, request, *args, **kwargs):
+ return self.destroy(request, *args, **kwargs)