Commit 5454162b by Ben Konrath

Define 'page' query field name in one place.

parent 6fbd4112
......@@ -3,7 +3,11 @@ from rest_framework import serializers
# TODO: Support URLconf kwarg-style paging
class NextPageField(serializers.Field):
class PageField(serializers.Field):
page_field = 'page'
class NextPageField(PageField):
"""
Field that returns a link to the next page in paginated results.
"""
......@@ -12,16 +16,16 @@ class NextPageField(serializers.Field):
return None
page = value.next_page_number()
request = self.context.get('request')
relative_url = '?page=%d' % page
relative_url = '?%s=%d' % (self.page_field, page)
if request:
for field, value in request.QUERY_PARAMS.iteritems():
if field != 'page':
if field != self.page_field:
relative_url += '&%s=%s' % (field, value)
return request.build_absolute_uri(relative_url)
return relative_url
class PreviousPageField(serializers.Field):
class PreviousPageField(PageField):
"""
Field that returns a link to the previous page in paginated results.
"""
......@@ -30,10 +34,10 @@ class PreviousPageField(serializers.Field):
return None
page = value.previous_page_number()
request = self.context.get('request')
relative_url = '?page=%d' % page
relative_url = '?%s=%d' % (self.page_field, page)
if request:
for field, value in request.QUERY_PARAMS.iteritems():
if field != 'page':
if field != self.page_field:
relative_url += '&%s=%s' % (field, value)
return request.build_absolute_uri(relative_url)
return relative_url
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment