Django 项目运行报错AttributeError: ‘NoneType‘ object has no attribute ‘pk‘解决方法

在Django项目中遇到AttributeError,原因是试图访问一个None对象的'pk'属性。通过打印结果发现'user'为None。检查数据库,确认项目表中的user字段为空。解决方法是手动更新user_id,为其分配有效值,如将user_id设为1,更新后接口调用成功,问题得到解决。
摘要由CSDN通过智能技术生成

源代码:

# 更新数据库
        # 手动防重
        project_exist = Project.objects.filter(name=data["name"]).exclude(id=data["project_id"])
        if len(project_exist):
            return JsonResponse(code=999992, msg="same name already exist",data={"name":data["name"]})
        else:
            # 从json中获取新的project
            project_update = ProjectDeserializer(data=data)
            # 事务操作, 在代码块内都是属于当前事务
            with transaction.atomic():
                if project_update.is_valid():
                    project_update.update(instance=project_object, validated_data=data)
                    # 记录当前动态
                    record_project_dynamic(project=data["project_id"],
                                       operation="更新",
                                       operationObject="项目",
                                       user=request.user.pk,
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值