在 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