W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要將修改保存至數(shù)據(jù)庫中已有的某個對象,使用 ?save()
?。
有一個已被存入數(shù)據(jù)庫中的 ?Blog
? 實例 ?b5
?,本例將其改名,并在數(shù)據(jù)庫中更新其記錄:
>>> b5.name = 'New name'
>>> b5.save()
這在幕后執(zhí)行了 ?UPDATE
?SQL 語句。Django 在你顯示調(diào)用 save() 后才操作數(shù)據(jù)庫。
更新 ?ForeignKey
?字段的方式與保存普通字段的方式相同——只需將正確類型的實例分配給相關字段。本例為 ?Entry
?類的實例 ?entry
?更新了 ?blog
?屬性,假設 ?Entry
?和 ?Blog
?的實例均已保存在數(shù)據(jù)庫中(因此能在下面檢索它們):
>>> from blog.models import Blog, Entry
>>> entry = Entry.objects.get(pk=1)
>>> cheese_blog = Blog.objects.get(name="Cheddar Talk")
>>> entry.blog = cheese_blog
>>> entry.save()
更新 ?ManyToManyField
字段有點不同——在字段上使用 ?add()
? 方法為關聯(lián)關系添加一條記錄。本例將 ?Author
?實例 ?joe
?添加至 ?entry
?對象:
>>> from blog.models import Author
>>> joe = Author.objects.create(name="Joe")
>>> entry.authors.add(joe)
要一次添加多行記錄至 ?ManyToManyField
?字段,在一次調(diào)用 ?add()
? 時傳入多個參數(shù),像這樣:
>>> john = Author.objects.create(name="John")
>>> paul = Author.objects.create(name="Paul")
>>> george = Author.objects.create(name="George")
>>> ringo = Author.objects.create(name="Ringo")
>>> entry.authors.add(john, paul, george, ringo)
Django 會在添加或指定錯誤類型的對象時報錯。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: