django orm 批量更新数据
时间: 2023-10-11 21:05:04 浏览: 213
浅谈优化Django ORM中的性能问题
在 Django ORM 中,可以使用 `update()` 方法来批量更新数据。下面是一个简单的例子:
```python
from myapp.models import MyModel
# 批量将 age 大于 18 的记录的 name 字段修改为 'John'
MyModel.objects.filter(age__gt=18).update(name='John')
```
另外,`update()` 方法支持同时更新多个字段的值。例如:
```python
# 批量将 age 大于 18 的记录的 name 字段修改为 'John',同时将 gender 字段修改为 'M'
MyModel.objects.filter(age__gt=18).update(name='John', gender='M')
```
需要注意的是,`update()` 方法直接操作数据库,不会触发 `save()` 方法和信号处理器。此外,`update()` 方法返回的是被更新的记录数目,而不是更新后的对象列表。
阅读全文