В моем settings.py у меня есть следующий код:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
}
В моем универсальном представлении у меня есть следующий код:
class ChildrenList(generics.ListAPIView):
permission_classes = [IsAuthenticated]
serializer_class = CheckItSerializer
queryset = CheckIt.objects.all().order_by('-id')
def get(self, request):
try:
queryset = CheckIt.objects.filter(box=request.user.userdetail.box_obj.id).order_by('-id')
serializer = CheckItSerializer(queryset, many=True)
context = {"success": True, "message": "CheckIt List", "error": "", "data": serializer.data}
return Response(context, status=status.HTTP_200_OK)
except Exception as error:
context = {'error': str(error), 'success': "false", 'message': 'Failed to get CheckIt Details.'}
return Response(context, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
Если я использую get_queryset () в методе get. Это дает мне все данные этой модели
def get(self, request):
try:
queryset = self.get_queryset()
serializer = CheckItSerializer(queryset, many=True)
context = {"success": True, "message": "CheckIt List", "error": "", "data": serializer.data}
return Response(context, status=status.HTTP_200_OK)
Как заставить LimitOffsetPagination работать на всех API, не меняя большую часть API по отдельности