这篇博客积累Django的数据库常用删除方法。
假设有表模型Author定义如下:
class Author(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
01-根据记录的id号来删除指定的记录
Django 默认为每个模型添加一个名为 id
的自增主键列,用于唯一标识每条记录。因此,可以使用该 id
值来删除指定的记录。
下面是使用 id
值删除记录的示例代码:
id_to_delete = 2 # 指定要删除的记录的 id 值
author = Author.objects.get(id=id_to_delete) # 获取指定 id 的记录
author.delete() # 删除记录
在这个示例中,我们首先指定要删除的记录的 id
值为 2
。然后,我们使用 get()
方法通过 id
值获取对应的记录对象,并将其赋值给 author
变量。最后,我们调用 delete()
方法来删除该记录。
注意,使用 get()
方法获取记录时,如果指定的 id
值不存在,会引发 Author.DoesNotExist
异常。因此,确保提供有效的 id
值进行删除操作。
现在数据表有下面四条记录:
现在我们执行语句:
id_to_delete = 9 # 指定要删除的记录的 id 值
author = Author.objects.get(id=id_to_delete) # 获取指定 id 的记录
author.delete() # 删除记录
执行完成后,数据表的情况如下:
从上面的记录可以看出,id为9的记录被删除了。
02-删除整张表中的所有数据
执行下面的语句可以删表Author中的所有数据:
Author.objects.all().delete()