Отключить автоматическое разбиение на страницы Django Rest Framework ModelViewSet

Я использую фреймворк Django Rest ModelViewSet для одного из моих взглядов. ModelViewSet использует ListModelMixin который автоматически разбивает результаты на страницы, но я не хочу, чтобы результаты были разбиты на страницы. В моем вызове API я говорю, сколько результатов я хочу вернуть, но в настоящее время я не могу получить более 10 результатов за один вызов.

есть ли способ отключить автоматическую разбиение на страницы, и поэтому я могу иметь столько результатов, сколько я хочу вернуть?

2 ответов


Если вы используете последние версии DRF, вам просто нужно добавить pagination_class = None на ModelViewSet определение.

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

вы также можете увидеть некоторые советы здесь https://github.com/tomchristie/django-rest-framework/issues/1390


ModelViewSet или mixins.ListModelMixin автоматически создать пагинацию для нас. ты можешь остановить это. paginator = нет

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