diff options
| author | Jacek Bzdak | 2013-10-22 13:13:01 +0200 |
|---|---|---|
| committer | Jacek Bzdak | 2013-10-22 13:13:01 +0200 |
| commit | 8fffc346c1c4fe6e634ce60bd0371217b07ecf5c (patch) | |
| tree | d9f52a4b886d574039cdcffd72266df49c1b6a8c /rest_framework/generics.py | |
| parent | 25c9d552c05527f4b8b257d59cd7be39005f3668 (diff) | |
| parent | fa87fac61b87858e80788fc233591fa11dbc18e7 (diff) | |
| download | django-rest-framework-8fffc346c1c4fe6e634ce60bd0371217b07ecf5c.tar.bz2 | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 4f134bce..6d204cf5 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -54,6 +54,7 @@ class GenericAPIView(views.APIView): # If you want to use object lookups other than pk, set this attribute. # For more complex lookup requirements override `get_object()`. lookup_field = 'pk' + lookup_url_kwarg = None # Pagination settings paginate_by = api_settings.PAGINATE_BY @@ -147,8 +148,8 @@ class GenericAPIView(views.APIView): page_query_param = self.request.QUERY_PARAMS.get(self.page_kwarg) page = page_kwarg or page_query_param or 1 try: - page_number = strict_positive_int(page) - except ValueError: + page_number = paginator.validate_number(page) + except InvalidPage: if page == 'last': page_number = paginator.num_pages else: @@ -278,9 +279,11 @@ class GenericAPIView(views.APIView): pass # Deprecation warning # Perform the lookup filtering. + # Note that `pk` and `slug` are deprecated styles of lookup filtering. + lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field + lookup = self.kwargs.get(lookup_url_kwarg, None) pk = self.kwargs.get(self.pk_url_kwarg, None) slug = self.kwargs.get(self.slug_url_kwarg, None) - lookup = self.kwargs.get(self.lookup_field, None) if lookup is not None: filter_kwargs = {self.lookup_field: lookup} |
