У меня есть простой вложенный маршрутизатор с использованием drf-nested-routers, аналогичный примеру на странице readme. Просмотр списка на вложенном маршруте вообще не разбивается на страницы, игнорируя мою настройку DEFAULT_PAGINATION_CLASS
. Это по дизайну? Вложенные маршруты должны вручную выполнять разбиение на страницы? Если я пытаюсь вызвать self.get_paginated_response
в list
методе моей вложенной Viewset, я получаю эту ошибку:Django REST Framework Вложенные маршрутизаторы - разбиение на страницы не работает
AttributeError at /api/foo/13/bar/
'PageNumberPagination' object has no attribute 'page'
Вот мой list
метода в моем вложенном зрении:
def list(self, request, workplan_pk=None):
milestones = self.get_queryset()
wp = get_object_or_404(Workplan, pk=workplan_pk)
milestones = milestones.filter(workplan=wp)
return Response(self.get_serializer_class()(milestones, many=True, context={'request': request}).data)
У меня были разбитые страницы с разбивкой по страницам, без проблем. Pagination обрабатывается видами, которые используют paginator, представления ничего не знают о маршрутизации. Они получают запрос только в качестве параметра. Я думаю, что проблема в другом месте. – Ivan
Не могли бы вы разместить полную трассировку стека? – Ivan
@Ivan, что возвращает метод 'list' вашего вложенного маршрутизатора? Mine возвращает объект DRF Response с сериализованными данными. Мне интересно, нужно ли мне возвращать что-то еще. Я обновил вопрос, чтобы показать мой метод 'list' – Neil