我使用django连接MySQL数据库想要实现对数据的删除功能,但是配置好model类和url路由之后,在创建视图函数后运行报错:user_patient object can't be deleted because its id attribute is set to None.
model类:
class user_patient(models.Model):
sex_choices = (
(0, "女"),
(1, "男")
)
id = models.AutoField(primary_key=True,) # id 会自动创建,可以手动写入
name = models.CharField(max_length=45) # 姓名
id_card = models.CharField(max_length=45) # 身份证
phone = models.CharField(max_length=45) # 电话
password = models.CharField(max_length=45) # 密码
sex = models.SmallIntegerField(choices=sex_choices) # 性别
grade = models.CharField(max_length=45) #班级
url:
path('patientDelete',view_patient.patientDelete,name='patientDelete'),#删除信息
视图函数:
@api_view(['GET','POST'])
def patientDelete(request):
id = request.POST.get('id')
name = request.POST.get('name')
id_card = request.POST.get('id_card')
phone = request.POST.get('phone')
password = request.POST.get('password')
sex = request.POST.get('sex')
grade = request.POST.get('grade')
user = user_patient(id=id,name=name, id_card=id_card, phone=phone, password=password, sex=sex, grade=grade)
user.delete()
return Action.success()
点击后结果没有变化,终端报错
后来由尝试使用 调用实体对象/查询结果集的 delete() 方法,结果报错为
Manager isn't accessible via user_patient instances
希望可以成功运行视图函数,删除单个数据
你数据库里有这条数据嘛,如果没有,删除什么呢,建议你打印下一获取到的id等数据,看看是不是,没有返回,另外删除的话直接用主键锁定删除就可以了,不需要所有的字段吧