新聞中心
通常,刪除方法被命名為 ?delete()?。該方法立刻刪除對象,并返回被刪除的對象數(shù)量和一個包含了每個被刪除對象類型的數(shù)量的字典。例如:

景泰網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
>>> e.delete()
(1, {'blog.Entry': 1})你也能批量刪除對象。所有 ?QuerySet ?都有個 ?delete()? 方法,它會刪除 ?QuerySet ?中的所有成員。
例如,這會刪除 2005 發(fā)布的所有 ?Entry ?對象:
>>> Entry.objects.filter(pub_date__year=2005).delete()
(5, {'webapp.Entry': 5})請記住,只要有機(jī)會的話,這會通過純 SQL 語句執(zhí)行,所以就無需在過程中調(diào)用每個對象的刪除方法了。若你為模型類提供了自定義的 ?delete()? 方法,且希望確保調(diào)用了該方法,你需要手動刪除該模型的實(shí)例(例如,如遍歷 ?QuerySet?,在每個對象上分別調(diào)用 ?delete() ?方法),而不是使用 ?QuerySet ?的批量刪除方法? delete()?。
當(dāng) Django 刪除某個對象時(shí),默認(rèn)會模仿 SQL 約束 ?ON DELETE CASCADE? 的行為——換而言之,某個對象被刪除時(shí),關(guān)聯(lián)對象也會被刪除。例子:
b = Blog.objects.get(pk=1)
# This will delete the Blog and all of its Entry objects.
b.delete()這種約束行為由 ?ForeignKey ?的 ?on_delete ?參數(shù)指定。
注意 ?delete()? 是唯一未在 ?Manager ?上暴漏的 ?QuerySet ?方法。這是一種安全機(jī)制,避免你不小心調(diào)用了 ?Entry.objects.delete()?,刪除了所有的條目。若你確實(shí)想要刪除所有對象,你必須顯示請求完整結(jié)果集合:
Entry.objects.all().delete() 分享標(biāo)題:創(chuàng)新互聯(lián)Django4.0教程:Django4.0執(zhí)行查詢-刪除對象
文章分享:http://www.5511xx.com/article/cdcicce.html


咨詢
建站咨詢
