Django报错:Object of type QuerySet is not JSON serializable

在Django中遇到QuerySet对象无法JSON序列化的错误,尝试多种方法如使用serialize、dumps等均未成功。最终解决方法是直接转换单条记录为字典并返回如下结构的响应:{'ret': 0, 'rec': {'id': 5, 'pubdate': '2020-03-23T03:04:42.808Z', 'author': 1, 'author__realname': 'xxxx', 'title': '2020软件工程研究生招收规定', 'content': '规定内容详情如下', 'status': 1}}。" 108936091,9439052,C语言实现双链表,"['数据结构', '链表']
摘要由CSDN通过智能技术生成

想做一个显示一条通知的请求响应,

def getone(self,request):

    try:
        oid = int(request.pd.get('id'))
        qs = Notice.objects.filter(id = oid).values(
            "id", "pubdate", "author", 'author__realname', "title", "content", "status"
        )
        data = {'ret': 0, 'rec': qs}
        return JR(data,safe=False)
    except Notice.DoesNotExist:
        return JR({
            'ret': 1,
            'msg': f'id 为`{oid}`的客户不存在'
        })
    except:
        err = traceback.format_exc()
        return JR({'ret': 2, 'msg': err})

各种报错:Object of type QuerySet is not JSON serializable;In order to allow non-dict objects to be serialized set the safe parameter to False;'dict' object has no attribute '_meta'等

尝试方法࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值