前提・実現したいこと
Python(DjangoRestFramework)で検索システムを作成しています。
RestFramework用ページネーションのrest_framework.pagination.LimitOffsetPaginationを設定してページングにを行なっています。
下記の形式でレスポンスを取得したいのですが、
ViewファイルにてViewSetクラスのlistメソッドに変更を行なっているAPIについては下記の
resultsの部分しか取得出来ません。
どうにかしてlistメソッドを使用しているviewsetでもPage情報を取得出来ないでしょうか?
"count": 55, "next": "http://...?page=2", "previous": null, "results": [{...},{...},...,{...}]
Python
1class PostViewSet(viewsets.ModelViewSet): 2 3 def list(self, request): 4 queryset = Post.objects.all() 5 queryset = queryset.filter( ...) 6 7 serializer = PostSerializer(queryset, many=True) 8 return Response(serializer.data)
試したこと
継承してPostViewSetを宣言して試してみたのですが、paginate_byの数量で制限はできるのですが、
countなどの情報が取得出来ませんでした。
Python
1class PostListViewSet(viewsets.ModelViewSet): 2 3 def list(self, request): 4 queryset = Post.objects.all() 5 queryset = queryset.filter( ...) 6 7 serializer = PostSerializer(queryset, many=True) 8 return Response(serializer.data) 9 10class PostViewSet(PostListViewSet, viewsets.ModelViewSet): 11 paginate_by = 2 12 queryset = Post.objects.all() 13 serializer_class = PostSerializer 14
あなたの回答
tips
プレビュー