Чи можу я використовувати пагін сторінки @detail_router?
class GroupViewSet(viewsets.ReadOnlyModelViewSet):
"""
Group View Set
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
pagination_class = StandardResultsSetPagination
@detail_route()
def user(self, request, pk=None):
_group = self.get_object()
users_post = _group.user_set.all()
page = self.paginate_queryset(users_post)
if page is not None:
serializers = UserSerializer(users_post, many=True, context={"request": request})
return self.get_paginated_response(serializers.data)
serializers = UserSerializer(users_post, many=True, context={"request": request})
return Response(serializers.data)
Пагінація не працює добре в рамках програми Djagno Rest.
Працює лише розмір сторінки. На одній сторінці є весь вміст, а на наступній - такий самий вміст. Як я можу зробити пагинацію?
Відповіді:
7 для відповіді № 1Замість того, щоб використовувати users_post
в твоїй UserSerializer
потрібно використовувати page
:
if page is not None:
serializers = UserSerializer(page, many=True, context={"request": request})
Редагувати: Зауважте, що так і має бути serializer
і ні serializers
так як у вас є лише один серіалізатор.