diff options
| author | Jamie Matthews | 2012-10-25 12:26:08 +0100 | 
|---|---|---|
| committer | Jamie Matthews | 2012-10-25 12:26:08 +0100 | 
| commit | d6e10b50fc6f1735d7dd6ee8bfd9d5d39b635b49 (patch) | |
| tree | 2eba8c77b2b3b0b857c4e008488fee48255601c2 | |
| parent | 16e249d60ded1679bc1c978a72d9aee8c415ae14 (diff) | |
| download | django-rest-framework-d6e10b50fc6f1735d7dd6ee8bfd9d5d39b635b49.tar.bz2 | |
Re-add implementation of multiple-operation generic views to remove diamond inheritance
| -rw-r--r-- | rest_framework/generics.py | 35 | 
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) | 
