デフォルトではページ設定が有効になっています。これはPageNumberPagination
に基づいています。 APIはフロントエンドでのみ使用されていたため、これまでは十分でした。今、私たちはそれの上にオートメーションを構築しようとしています。私は完全な、非ページングされた結果セットをクライアントに戻したいと思います。Django REST Frameworkのページャなしの結果を取得
特定のリクエストに対してページ番号を無効にする方法はありますか?リクエストパラメータが渡された場合
デフォルトではページ設定が有効になっています。これはPageNumberPagination
に基づいています。 APIはフロントエンドでのみ使用されていたため、これまでは十分でした。今、私たちはそれの上にオートメーションを構築しようとしています。私は完全な、非ページングされた結果セットをクライアントに戻したいと思います。Django REST Frameworkのページャなしの結果を取得
特定のリクエストに対してページ番号を無効にする方法はありますか?リクエストパラメータが渡された場合
実際にカスタムページネーションクラスを使用しました:
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
を設定するだけで、すべてのアイテムを取得できます。
あなたは実行不可能多数に設定要求限度でこれを近似することができますが、最初のDjangoを設定する必要があります。
GET https://api.example.org/accounts/?limit=999999999999
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination'
}
が続いて途方もなく高い上限要求を行います