diff options
| author | Tom Christie | 2013-04-09 19:06:49 +0100 | 
|---|---|---|
| committer | Tom Christie | 2013-04-09 19:06:49 +0100 | 
| commit | 1de6cff11b71e4aaa7b76219d4d2118021e23a00 (patch) | |
| tree | 3aa8a5dfc8fd6ff0444b0e7d1074cc4a2bea96e9 /rest_framework/generics.py | |
| parent | dc45bc7bfad64a17f3e5ed0f5a487bccc379aac2 (diff) | |
| download | django-rest-framework-1de6cff11b71e4aaa7b76219d4d2118021e23a00.tar.bz2 | |
Cleaning up get_object and get_queryset
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 23 | 
1 files changed, 10 insertions, 13 deletions
| diff --git a/rest_framework/generics.py b/rest_framework/generics.py index d4a50dcd..4ae2ac8e 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -148,25 +148,22 @@ class GenericAPIView(views.APIView):      def get_queryset(self):          """ -        Get the list of items for this view. This must be an iterable, and may -        be a queryset (in which qs-specific behavior will be enabled). +        Get the list of items for this view. + +        This must be an iterable, and may be a queryset.          """          if self.queryset is not None: -            queryset = self.queryset -            if hasattr(queryset, '_clone'): -                queryset = queryset._clone() -        elif self.model is not None: -            queryset = self.model._default_manager.all() -        else: -            raise ImproperlyConfigured("'%s' must define 'queryset' or 'model'" -                                       % self.__class__.__name__) -        return queryset +            return self.queryset._clone() + +        if self.model is not None: +            return self.model._default_manager.all() + +        raise ImproperlyConfigured("'%s' must define 'queryset' or 'model'" +                                    % self.__class__.__name__)      def get_object(self, queryset=None):          """          Returns the object the view is displaying. -        By default this requires `self.queryset` and a `pk` or `slug` argument -        in the URLconf, but subclasses can override this to return any object.          """          # Determine the base queryset to use.          if queryset is None: | 
