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: |
