-
替换相关对象集:
>>> new_list = [obj1, obj2, obj3] >>> e.related_set.set(new_list)此方法接受
clear参数来控制如何执行操作。如果是False(默认值),则使用remove()删除新集合中缺少的元素,并且只添加新元素。如果clear=True,则调用clear()方法并立即添加整个集合。对于
对象,将ForeignKeybulk参数传递给和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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
