Django写网页无法从mysql读出数据

问题遇到的现象和发生背景 Django写网页无法从mysql读出数据,可以正常写入数据,但是设计读取列出的时候就返回JsonResponse为空值,显示如下

img

问题相关代码,请勿粘贴截图 modle里面的代码如下
class User(AbstractUser):
    id = models.BigAutoField(primary_key=True)

    # 用户类型
    # 1: 超管 | 1000: 普通管理员  | 2000:学生  |  3000: 老师
    usertype = models.PositiveIntegerField()

    # 真实姓名
    realname = models.CharField(max_length=30, db_index=True)

    # 学号
    studentno = models.CharField(
        max_length=10,
        db_index=True,
        null=True, blank=True
    )

    # 备注描述
    desc = models.CharField(max_length=500, null=True, blank=True)

    REQUIRED_FIELDS = ["usertype", "realname"]  # 创建用户必须填的字段

    class Meta:
        db_table = "by_user"

    @staticmethod
    def addone(data):
        try:
            record = User.objects.create(realname=data['realname'],
                                         username=data['username'],
                                         password=make_password(data['password']),
                                         studentno=data['studentno'],
                                         desc=data['desc'],
                                         usertype=data['usertype'],
                                         )

            return {'ret': 0, 'id': record.id}  # 不是返回客户端的所以不需要用JR
        except:
            err = traceback.format_exc()
            return {'ret': 2, 'msg': err}

    @staticmethod
    def listbypage(pagenum,pagesize,keywords):
        try:
            # .order_by('-id') 表示按照 id字段的值 倒序排列
            # 这样可以保证最新的记录显示在最前面
            qs = User.objects.values('id',  # 参数表示获取的字段,如无参数则全部获取
                                     'username',
                                     'realname',
                                     'studentno',
                                     'desc',
                                     'usertype').order_by('-id')

            # 查看是否有 关键字 搜索 参数
            if keywords:
                conditions = [Q(realname__contains=one) for one in keywords.split(' ') if one]
                query = Q()
                for condition in conditions:
                    query &= condition
                qs = qs.filter(query)
            # 使用分页对象,设定每页多少条记录
            pgnt = Paginator(qs, pagesize)
            # 从数据库中读取数据,指定读取其中第几页
            page = pgnt.page(pagenum)
            # 将 QuerySet 对象 转化为 list 类型
            retlist = list(page)
            # total指定了 一共有多少数据
            return {'ret': 0, 'items': retlist, 'total': pgnt.count, "keywords": keywords}
        except EmptyPage:
            return {'ret': 1, 'items': [], 'total': 0, "keywords": keywords}
        except:
            err = traceback.format_exc()
            return {'ret': 2, 'msg': err}

View里面的代码

# 账号管理
class ACCOUNTHANDLER:
    def handle(self, request):

        if request.method == 'GET':
            pd = request.GET
        else:
            pd = json.loads(request.body)  # parameterdict 根据api文档将消息体中的数据解码为字典对象

            request.pd = pd
            action = request.pd.get('action')
            if action == 'listbypage':
                return self.listbypage(request)
            if action == 'addone':
                return self.addone(request)

    def listbypage(self, request):
        # 要获取的第几页
        pagenum = int(request.pd.get('pagenum'))  # 用整数比较好 不用也行
        # 每页要显示多少条记录
        pagesize = int(request.pd.get('pagesize'))
        # 关键字
        keywords = request.pd.get("keywords")
        ret = User.listbypage(pagenum, pagesize, keywords)
        return JR(ret)

    def addone(self, request):
        data = request.pd.get('data')
        ret = User.addone(data)
        return JR(ret)

运行结果及报错内容 尝试过重新创建sql表,也检查过代码看不出缩进问题,实在是懵逼了
我的解答思路和尝试过的方法
我想要达到的结果

有报错吗?数据库中数据表里有数据吗?

你的JR继承了django的JsonResponse?既然报错view返回的不是http响应,问题出在jr上啊,打印一下看看,测试一下

有人帮帮我吗 代码看起来也没问题 到底哪里出错了