2016-02-04 35 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

對了,我有它在我的設置,但我不把它上面這個@喬納森 - 考克斯 –