问题遇到的现象和发生背景
我使用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')
使用model的delete()方法删除
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
我想要达到的结果
希望可以成功运行视图函数,删除单个数据