-
從相關對象集中移除指定的模型對象:
>>> b = Blog.objects.get(id=1) >>> e = Entry.objects.get(id=234) >>> b.entry_set.remove(e) # Disassociates Entry e from Blog b.
與
add()
e.save()
來執行更新。但是,將remove()
與多對多關係一起使用會刪除使用QuerySet.delete()
save()
方法;如果您希望在刪除關係時執行自定義代碼,請收聽m2m_changed
對於多對多關係,
remove()
接受模型實例或字段值,通常是主鍵,作為*objs
參數。對於
ForeignKey
null=True
時存在。如果相關字段不能設置為None
(NULL
),則無法從關係中刪除對象而不將其添加到另一個對象。在上麵的示例中,從b.entry_set()
中刪除e
相當於執行e.blog = None
,並且由於blog
ForeignKey
null=True
,因此這是無效的。對於
ForeignKey
bulk
參數來控製如何執行操作。如果True
(默認),則使用QuerySet.update()
。如果bulk=False
,則改為調用每個單獨模型實例的save()
方法。這會觸發pre_save
post_save
對於多對多關係,
bulk
關鍵字參數不存在。
本文介紹django.db.models.fields.related.RelatedManager.remove
的用法。
聲明
remove(*objs, bulk=True)
相關用法
- Python Django RelatedManager.set用法及代碼示例
- Python Django RelatedManager.clear用法及代碼示例
- Python Django RelatedManager.create用法及代碼示例
- Python Django RelatedManager.add用法及代碼示例
- Python Django Response.json用法及代碼示例
- Python Django Repeat用法及代碼示例
- Python Django RequestContext用法及代碼示例
- Python Django Reverse用法及代碼示例
- Python Django Redirect用法及代碼示例
- Python Django Response.resolver_match用法及代碼示例
- Python Django Response.context用法及代碼示例
- Python Django RedirectView用法及代碼示例
- Python Django RequireDebugFalse用法及代碼示例
- Python Django Replace用法及代碼示例
- Python Django RandomUUID用法及代碼示例
- Python RLock acquire()用法及代碼示例
- Python Random.Choices()用法及代碼示例
- Python Django REQUIRED_FIELDS用法及代碼示例
- Python Django Radians用法及代碼示例
- Python Django RawSQL用法及代碼示例
- Python Django RadioSelect用法及代碼示例
- Python Django Right用法及代碼示例
- Python Django RangeOperators用法及代碼示例
- Python RLock release()用法及代碼示例
- Python PIL RankFilter()用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.db.models.fields.related.RelatedManager.remove。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。