2016-04-12 10 views
0

デフォルトではページ設定が有効になっています。これはPageNumberPaginationに基づいています。 APIはフロントエンドでのみ使用されていたため、これまでは十分でした。今、私たちはそれの上にオートメーションを構築しようとしています。私は完全な、非ページングされた結果セットをクライアントに戻したいと思います。Django REST Frameworkのページャなしの結果を取得

特定のリクエストに対してページ番号を無効にする方法はありますか?リクエストパラメータが渡された場合

答えて

0

実際にカスタムページネーションクラスを使用しました:

class Unpaginatable(PageNumberPagination): 
    def paginate_queryset(self, queryset, request, view=None): 
     if getattr(request, 'get_all', False): 
      return None 

     return super(BuildListPagination, self).paginate_queryset(queryset, request, view=view) 

私はビューセットにrequest.get_all = Trueを設定するだけで、すべてのアイテムを取得できます。

0

あなたは実行不可能多数に設定要求限度でこれを近似することができますが、最初のDjangoを設定する必要があります。

GET https://api.example.org/accounts/?limit=999999999999

REST_FRAMEWORK = { 
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination' 
} 

が続いて途方もなく高い上限要求を行います

LimitOffsetPagination - django-rest-framework.org

関連する問題