web-dev-qa-db-ja.com

Django Rest Framework ModelViewSetの自動ページネーションをオフにします

私はビューの1つにDjango Rest FrameworkのModelViewSetを使用しています。ModelViewSetListModelMixinを使用します。結果をページ分割したいAPI呼び出しで、返したい結果の数を言いますが、現状では、1回の呼び出しで10件を超える結果を返すことはできません。

自動ページネーションをオフにする方法はありますか?そのため、必要なだけ多くの結果を返すことができますか?

19
Bill Noble

DRFの最新バージョンを使用している場合は、ModelViewSet定義にpagination_class = Noneを追加するだけです。

class MyClassBasedView(ModelViewSet):
    pagination_class = None
    ...

ここにもいくつかのヒントがあります https://github.com/tomchristie/Django-rest-framework/issues/139

45
trinchet

ModelViewSetまたはmixins.ListModelMixinは自動的にページネーションを作成します。 paginator = Noneで停止できます

> class NotesViewSet(viewsets.ModelViewSet):    
>     queryset = Notes.objects.all()
>     serializer_class = NotesWriteSerializer
>     paginator = None
2
Gautam Kumar