-
替換相關對象集:
>>> new_list = [obj1, obj2, obj3] >>> e.related_set.set(new_list)
此方法接受
clear
參數來控製如何執行操作。如果是False
(默認值),則使用remove()
刪除新集合中缺少的元素,並且隻添加新元素。如果clear=True
,則調用clear()
方法並立即添加整個集合。對於
ForeignKey
bulk
參數傳遞給add()
remove()
對於多對多關係,
bulk
關鍵字參數不存在。請注意,由於
set()
是複合操作,因此它受製於競爭條件。例如,可以在調用clear()
和調用add()
之間將新對象添加到數據庫中。對於多對多關係
set()
接受模型實例或字段值的列表,通常是主鍵,作為objs
參數。如果需要,使用
through_defaults
參數為新的中間模型實例指定值。您可以將可調用對象用作through_defaults
字典中的值,並且它們將在創建任何中間實例之前被評估一次。
本文介紹 django.db.models.fields.related.RelatedManager.set
的用法。
聲明
set(objs, bulk=True, clear=False, through_defaults=None)
注意
請注意,add()
、create()
、remove()
、clear()
和 set()
都立即對所有類型的相關字段應用數據庫更改。換句話說,不需要在關係的任何一端調用save()
。
如果您使用
,則 prefetch_related()
add()
、 remove()
、 clear()
和 set()
方法會清除預取緩存。
相關用法
- Python Django RelatedManager.remove用法及代碼示例
- 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.set。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。