diff options
| author | Tom Christie | 2013-05-07 12:25:41 +0100 |
|---|---|---|
| committer | Tom Christie | 2013-05-07 12:25:41 +0100 |
| commit | d71a5533f9a8787652244dfb16af37fb7d9059fb (patch) | |
| tree | 9d7d4ad3e15a55d8a5e67c0888d91fd2f88edc61 /rest_framework/generics.py | |
| parent | b70c9cc107743b45edc50c4b4e5e6a7d5a856f01 (diff) | |
| download | django-rest-framework-d71a5533f9a8787652244dfb16af37fb7d9059fb.tar.bz2 | |
allow_empty -> pending deprecation in preference of overridden get_queryset.
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 62129dcc..2bb23a89 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -42,9 +42,6 @@ class GenericAPIView(views.APIView): # The filter backend class to use for queryset filtering filter_backend = api_settings.FILTER_BACKEND - # Determines if the view will return 200 or 404 responses for empty lists. - allow_empty = True - # The following attributes may be subject to change, # and should be considered private API. model_serializer_class = api_settings.DEFAULT_MODEL_SERIALIZER_CLASS @@ -56,6 +53,7 @@ class GenericAPIView(views.APIView): pk_url_kwarg = 'pk' slug_url_kwarg = 'slug' slug_field = 'slug' + allow_empty = True def get_serializer_context(self): """ @@ -111,6 +109,14 @@ class GenericAPIView(views.APIView): if not page_size: return None + if not self.allow_empty: + warnings.warn( + 'The `allow_empty` parameter is due to be deprecated. ' + 'To use `allow_empty=False` style behavior, You should override ' + '`get_queryset()` and explicitly raise a 404 on empty querysets.', + PendingDeprecationWarning, stacklevel=2 + ) + paginator = self.paginator_class(queryset, page_size, allow_empty_first_page=self.allow_empty) page_kwarg = self.kwargs.get(self.page_kwarg) |
