Django如何删除数据库表中的数据【不断积累】

这篇博客积累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()

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/131667925
今日推荐