问题描述
以下两种情况在Django ORM操作中是否有区别?会不会有任何性能提升?
obj.manytomanyfield.clear()
obj.manytomanyfield.add(1,2,3,4,5)
和
obj.manytomanyfield.set([1,5])
解决方法
在文档中,set()
-Django doc
此方法接受
clear
参数来控制如何执行 操作。如果为False
(默认设置),则新元素中缺少的元素 使用remove()
删除集合,仅添加新集合。如果clear=True
,则调用clear()
方法,整个集合为 一次添加。
这是什么意思
obj.manytomanyfield.clear()
obj.manytomanyfield.add(1,2,3,4,5)
等于 等于
obj.manytomanyfield.set([1,5],clear=True)