在 Django 中删除模型的记录

Vaibhav Vaibhav 2021年10月2日 2021年6月29日
在 Django 中删除模型的记录

Django 是一个多功能框架,它使我们能够非常快速地构建全栈应用程序。Django 可以高效地处理与所有 Web 应用程序相关的大多数复杂和核心任务,因此开发人员不必从头开始编写它们。

幸运的是,Django 像魅力一样处理数据库,并且使与它们交互变得非常简单。虽然原始 SQL 查询可以用 Django 编写,但它允许我们使用 Python 与数据库和表进行交互——我们可以非常快速地使用 Python 高效地对数据库执行 CRUD 操作。

在本文中,我们将介绍 CRUD 操作删除的功能,并演示如何在 Django 中删除模型的记录。

使用 Django 中的 delete() 方法删除模型的记录

Django 中的所有模型对象或实例都有一个 delete() 方法,可用于删除该记录。现在,这个 delete() 方法也可用于删除单个记录和一堆记录。

要删除单个记录,我们将使用以下代码:

record = ModelName.objects.get(id = 25)
record.delete()

get() 方法获取 id 为 25 的记录,然后将其删除。但是如果没有找到记录,就会引发异常。为了避免这种情况,我们可以使用 try...except 块,如下所示:

try:
    record = ModelName.objects.get(id = 25)
    record.delete()
    print("Record deleted successfully!")
except:
    print("Record doesn't exists")

如果我们必须删除所有记录,我们可以在包含所有记录的 QuerySet 上调用这个 delete() 函数。下面的代码执行相同的操作:

records = ModelName.objects.all()
records.delete()

如上所述,我们可以在 QuerySet 上调用这个 delete() 函数;这意味着我们也可以在一些过滤记录的 QuerySet 上调用这个函数。对于相同的输出,请参考以下代码:

records = ModelName.objects.filter(firstName = "Vaibhav")
records.delete()
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相关文章 - Django Model