5
5
from rest_framework_ember .utils import get_resource_name
6
6
7
7
8
- class NextPageLinkField (serializers .Field ):
8
+ class NextPageLinkField (serializers .ReadOnlyField ):
9
9
"""
10
10
Field that returns a link to the next page in paginated results.
11
11
"""
12
12
page_field = 'page'
13
13
14
- def to_native (self , value ):
14
+ def to_representation (self , value ):
15
15
if not value .has_next ():
16
16
return None
17
17
page = value .next_page_number ()
@@ -20,25 +20,25 @@ def to_native(self, value):
20
20
return replace_query_param (url , self .page_field , page )
21
21
22
22
23
- class NextPageField (serializers .Field ):
23
+ class NextPageField (serializers .ReadOnlyField ):
24
24
"""
25
25
Field that returns a link to the next page in paginated results.
26
26
"""
27
27
page_field = 'page'
28
28
29
- def to_native (self , value ):
29
+ def to_representation (self , value ):
30
30
if not value .has_next ():
31
31
return None
32
32
return value .next_page_number ()
33
33
34
34
35
- class PreviousPageLinkField (serializers .Field ):
35
+ class PreviousPageLinkField (serializers .ReadOnlyField ):
36
36
"""
37
37
Field that returns a link to the previous page in paginated results.
38
38
"""
39
39
page_field = 'page'
40
40
41
- def to_native (self , value ):
41
+ def to_representation (self , value ):
42
42
if not value .has_previous ():
43
43
return None
44
44
page = value .previous_page_number ()
@@ -47,25 +47,25 @@ def to_native(self, value):
47
47
return replace_query_param (url , self .page_field , page )
48
48
49
49
50
- class PreviousPageField (serializers .Field ):
50
+ class PreviousPageField (serializers .ReadOnlyField ):
51
51
"""
52
52
Field that returns a link to the previous page in paginated results.
53
53
"""
54
54
page_field = 'page'
55
55
56
- def to_native (self , value ):
56
+ def to_representation (self , value ):
57
57
if not value .has_previous ():
58
58
return None
59
59
return value .previous_page_number ()
60
60
61
61
62
- class PageField (serializers .Field ):
62
+ class PageField (serializers .ReadOnlyField ):
63
63
"""
64
64
Field that returns a link to the previous page in paginated results.
65
65
"""
66
66
page_field = 'page'
67
67
68
- def to_native (self , value ):
68
+ def to_representation (self , value ):
69
69
return value .number
70
70
71
71
@@ -76,5 +76,6 @@ class EmberPaginationSerializer(pagination.BasePaginationSerializer):
76
76
page = PageField (source = '*' )
77
77
previous = PreviousPageField (source = '*' )
78
78
previous_link = PreviousPageLinkField (source = '*' )
79
- count = serializers .Field (source = 'paginator.count' )
79
+ count = serializers .ReadOnlyField (source = 'paginator.count' )
80
+ total = serializers .ReadOnlyField (source = 'paginator.num_pages' )
80
81
0 commit comments