Python 在Django ListAPIView中设置分页_类会导致运行时错误

Python 在Django ListAPIView中设置分页_类会导致运行时错误,python,django,django-rest-framework,Python,Django,Django Rest Framework,对于从django通用视图ListAPIView继承的文本消息,我有一个基于类的视图。从继承类名可以看出,视图被用作带有分页的API(来自Django Rest框架) 我想关闭某些特定查询的分页,但是,即使我尝试通过此堆栈溢出问题()关闭所有查询的分页,也会出现以下错误: RuntimeError: Do not evaluate the `.queryset` attribute directly, as the result will be cached and reused between

对于从django通用视图ListAPIView继承的文本消息,我有一个基于类的视图。从继承类名可以看出,视图被用作带有分页的API(来自Django Rest框架)

我想关闭某些特定查询的分页,但是,即使我尝试通过此堆栈溢出问题()关闭所有查询的分页,也会出现以下错误:

RuntimeError: Do not evaluate the `.queryset` attribute directly, as the result will be cached and reused between requests. Use `.all()` or call `.get_queryset()` instead.
Iam无问题地覆盖视图中的get_queryset()方法,但是,仅通过将paginator_类变量设置为None,我收到此错误。任何帮助都将不胜感激。下面是一些代码:

view.py:

class TextMessageView(generics.ListAPIView):
    queryset = TextMessage.objects.all()
    serializer_class = TextMessageSerializer
    pagination_class = None


    def get_queryset(self):
        """
        If a phone number is included in the url query, return only the text messages sent by that number in the
        queryset, otherwise return all text messages.
        :return: A Django queryset with a variable number of text messages.
        """
        from_phone_num = self.request.query_params.get('from_phone_number', None)
        distinct_nums = self.request.query_params.get('distinct_numbers', None)
        all_msgs = self.request.query_params.get('all_messages', None)
        if from_phone_num:
            return TextMessage.objects.filter(from_phone_number=from_phone_num)
        elif distinct_nums == 'True':
            return TextMessage.objects.order_by('from_phone_number', '-date_of_message').distinct('from_phone_number')
        elif all_msgs == 'True':
            return self.queryset
        else:
            raise Http404

您必须查找GenericAPIView.py,因为它太大了

查看错误消息,在get\u queryset方法中,您可以尝试更改吗

elif all_msgs == 'True':
            return self.queryset

?

Django Rest Frameworks: mixins.py

class ListModelMixin:
    """
    List a queryset.
    """
    def list(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)
elif all_msgs == 'True':
            return self.queryset
elif all_msgs == 'True':
            return self.queryset.all()