diff options
| author | Jamie Matthews | 2012-10-24 18:22:29 +0100 | 
|---|---|---|
| committer | Jamie Matthews | 2012-10-24 18:22:29 +0100 | 
| commit | 32ebf96ef661533a9bb69124ec9cef4af2393014 (patch) | |
| tree | 458d6e4da9ec02664209202dd64aa5d40fe731dc /rest_framework | |
| parent | 9a741e7ddb756eece1b7b2cca8620db052c57309 (diff) | |
| download | django-rest-framework-32ebf96ef661533a9bb69124ec9cef4af2393014.tar.bz2 | |
Split concrete generic views up into separate bits of functionality
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/generics.py | 68 | 
1 files changed, 39 insertions, 29 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 18c1033d..cfb3f29e 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -95,27 +95,25 @@ class SingleObjectBaseView(SingleObjectMixin, BaseView):  ### Concrete view classes that provide method handlers ###  ### by composing the mixin classes with a base view.   ### -class ListAPIView(mixins.ListModelMixin, -                  MultipleObjectBaseView): + +class CreateAPIView(mixins.CreateModelMixin, +                    BaseView): +      """ -    Concrete view for listing a queryset. +    Concrete view for 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 ListCreateAPIView(mixins.ListModelMixin, -                        mixins.CreateModelMixin, -                        MultipleObjectBaseView): +class ListAPIView(mixins.ListModelMixin, +                  MultipleObjectBaseView):      """ -    Concrete view for listing a queryset or creating a model instance. +    Concrete view for listing a queryset.      """      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 RetrieveAPIView(mixins.RetrieveModelMixin,                        SingleObjectBaseView): @@ -126,31 +124,43 @@ class RetrieveAPIView(mixins.RetrieveModelMixin,          return self.retrieve(request, *args, **kwargs) -class RetrieveDestroyAPIView(mixins.RetrieveModelMixin, -                             mixins.DestroyModelMixin, -                             SingleObjectBaseView): +class DestroyAPIView(mixins.DestroyModelMixin, +                    SingleObjectBaseView): +      """ -    Concrete view for retrieving or deleting a model instance. +    Concrete view for 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(mixins.RetrieveModelMixin, -                                   mixins.UpdateModelMixin, -                                   mixins.DestroyModelMixin, -                                   SingleObjectBaseView): +class UpdateAPIView(mixins.UpdateModelMixin, +                    SingleObjectBaseView): +      """ -    Concrete view for retrieving, updating or deleting a model instance. +    Concrete view for 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) -    def delete(self, request, *args, **kwargs): -        return self.destroy(request, *args, **kwargs) + +class ListCreateAPIView(ListAPIView, +                        CreateAPIView): +    """ +    Concrete view for listing a queryset or creating a model instance. +    """ + + +class RetrieveDestroyAPIView(RetrieveAPIView, +                             DestroyAPIView): +    """ +    Concrete view for retrieving or deleting a model instance. +    """ + + +class RetrieveUpdateDestroyAPIView(RetrieveAPIView, +                                   UpdateAPIView, +                                   DestroyAPIView): +    """ +    Concrete view for retrieving, updating or deleting a model instance. +    """  | 
