- 在django 3.1版本中,出现了model的一个方法,就是批量修改数据库的数据,那么具体如何使用那
- 优点:快速,方便,性能更好,可以根据不同的条件改不同的数据
- 缺点:不能更新模型的主键,每个模型的 save() 方法没有被调用,而且 pre_save 和 post_save 信号没有被发送,更新定义在多表继承祖先上的字段将给每个祖先带来额外的查询(也就是如果更新外键的话还是不要使用)
- 使用方法(更新type和sum_fans 字段):
from users.models import User
querys = User.objects.filter(is_delete=False)
for i in querys:
if i.state == 3:
i.type = 3
i.sum_fans = 0
if i.start == 4:
i.type == 4
i.sum_fans = 2
else:
i.type = 5
i.sum_fans = 5
User.objects.bulk_update(querys, ['type', 'sum_fans '])
- django官方文档地址:地址