2015-11-13 46 views
3

我可以使用@ detail_router的分頁嗎?@detail_route在django rest框架中不工作分頁

class GroupViewSet(viewsets.ReadOnlyModelViewSet): 
    """ 
    Group View Set 
    """ 
    queryset = Group.objects.all() 
    serializer_class = GroupSerializer 
    pagination_class = StandardResultsSetPagination 

    @detail_route() 
    def user(self, request, pk=None): 
     _group = self.get_object() 
     users_post = _group.user_set.all() 
     page = self.paginate_queryset(users_post) 
     if page is not None: 
      serializers = UserSerializer(users_post, many=True, context={'request': request}) 
      return self.get_paginated_response(serializers.data) 
     serializers = UserSerializer(users_post, many=True, context={'request': request}) 
     return Response(serializers.data) 

分頁在Djagno Rest框架中無法正常工作。

enter image description here

它僅適用於頁面大小。一頁有全部內容,下一頁是全部內容。 我該怎麼做分頁?

回答

7

而是在你UserSerializer你需要使用page使用users_post的:

if page is not None: 
     serializers = UserSerializer(page, many=True, context={'request': request}) 

編輯: 注意,它應該是serializer而不是serializers因爲你只需要一個串行器。

+1

謝謝你的回答! – egaoneko

+0

這是做這件事的最好方法嗎?我們不能做一些像'pagination_class'到'detail_route'的東西嗎? – Darwesh

+0

不知道你的意思,這應該是一個不同的問題。 – Linovia