2016-02-04 36 views
1

@link或@action方法我正在开发一个使用Django Restframework和DRF扩展的API Restful。Django。分页View @

我有用户

class UserViewSet(NestedViewSetMixin, viewsets.ModelViewSet): 
    queryset = User.objects.all() 
    serializer_class = UserSerializer 
    filter_class = conversation.UserFilter 

    @link(is_for_list=True) 
    def favorites(self,request,pk=None): 
     """Return the profile of the user""" 
     fav = UserFavorite.objects.filter(user=request.user, is_favorite=True) 
     favorites = UserFavoriteReadOnlySerializer(fav,many=True) 
     return Response(favorites.data) 

下一个视图集和Settings.py:

REST_FRAMEWORK = { 
... 
'DEFAULT_PAGINATION_CLASS': (
    'rest_framework.pagination.PageNumberPagination' 
), 
... 

我想这种方法应用分页的响应,但不回我什么想'因为返回与没有分页的搜索方法相关联的所有对象。

因为我可以打开这个方法的页面?

回答

0

如果你看看DRF docs for PageNumberPagination,你会发现你需要包含一个'PAGE_SIZE'键值对来设置返回的页面数量。

例如,您的分页设置应该是这样的:

REST_FRAMEWORK = { 
    ... 
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 
    'PAGE_SIZE': 100 
    ... 
} 
+0

对了,我有它在我的设置,但我不把它上面这个@乔纳森 - 考克斯 –