aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/generics.py
diff options
context:
space:
mode:
authorTom Christie2013-04-09 19:06:49 +0100
committerTom Christie2013-04-09 19:06:49 +0100
commit1de6cff11b71e4aaa7b76219d4d2118021e23a00 (patch)
tree3aa8a5dfc8fd6ff0444b0e7d1074cc4a2bea96e9 /rest_framework/generics.py
parentdc45bc7bfad64a17f3e5ed0f5a487bccc379aac2 (diff)
downloaddjango-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.py23
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: