Django rest framework 不带序列化程序的分页APIView(DRF)

Django rest framework 不带序列化程序的分页APIView(DRF),django-rest-framework,django-pagination,Django Rest Framework,Django Pagination,我正在编写一个SAMLLAPI,以从数据库中获取(仅获取)数据 我使用的是没有ModelViewset的APIView,因为Resest很复杂,有很多聚合,所以直接SQL请求比django ORM更快。 我直接将SQL响应转换为JSON,而不使用django序列化程序。 我的问题是:如果不使用 page = self.paginate_queryset(queryset) if page is not None: serializer = self.get_seriali

我正在编写一个SAMLLAPI,以从数据库中获取(仅获取)数据
我使用的是没有ModelViewset的APIView,因为Resest很复杂,有很多聚合,所以直接SQL请求比django ORM更快。
我直接将SQL响应转换为JSON,而不使用django序列化程序。
我的问题是:如果不使用

page = self.paginate_queryset(queryset)
    if page is not None:
        serializer = self.get_serializer(page, many=True)
        return self.get_paginated_response(serializer.data)
我的代码示例:

from rest_framework.views import APIView
from rest_framework.exceptions import PermissionDenied
from rest_framework.response import Response
from apps.scholl.api import SQL_REQUEST
from django.db import connection


class NamesView(APIView):
    def get(self, request):
        filters = request.data.pop('filters', None)
        with connection.cursor() as cursor:
            sql_request = SQL_REQUEST.format(filters)
            cursor.execute(sql_request)
            fields_to_show = [f.name for f in cursor.description]
            values = cursor.fetchall()
        json_res = {}
        for key in fields_to_show:
            json_resp[f]= []

        for index, value in enumerate(values):
            if not json_resp.get(fields_to_show[index]):
                 json_resp[fields_to_show[index]] = []
                 json_resp[fields_to_show[index]}.append(value)
            else:
                 json_resp[fields_to_show[index]}.append(value)
       return Response(json_res)