Commit ae8a8270 by Tom Christie

Make 'results_field' attribute of BasePaginationSerializer public.

parent 2284e592
......@@ -104,7 +104,9 @@ For more complex requirements such as serialization that differs depending on th
To create a custom pagination serializer class you should override `pagination.BasePaginationSerializer` and set the fields that you want the serializer to return.
For example, to nest a pair of links labelled 'prev' and 'next' you might use something like this.
You can also override the name used for the object list field, by setting the `results_field` attribute, which defaults to `'results'`.
For example, to nest a pair of links labelled 'prev' and 'next', and set the name for the results field to 'objects', you might use something like this.
class LinksSerializer(serializers.Serializer):
next = pagination.NextURLField(source='*')
......@@ -114,4 +116,6 @@ For example, to nest a pair of links labelled 'prev' and 'next' you might use so
links = LinksSerializer(source='*') # Takes the page object as the source
total_results = serializers.Field(source='paginator.count')
results_field = 'objects'
[cite]: https://docs.djangoproject.com/en/dev/topics/pagination/
......@@ -52,14 +52,14 @@ class BasePaginationSerializer(serializers.Serializer):
to make implementing custom serializers more easy.
"""
_options_class = PaginationSerializerOptions
_results_field = 'results'
results_field = 'results'
def __init__(self, *args, **kwargs):
"""
Override init to add in the object serializer field on-the-fly.
"""
super(BasePaginationSerializer, self).__init__(*args, **kwargs)
results_field = self._results_field
results_field = self.results_field
object_serializer = self.opts.object_serializer_class
self.fields[results_field] = object_serializer(source='object_list')
......
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