- 程序 A1, 数据 A ,将 age 由 30 更新为 20
user = User.object.filter(username='xxx', age=30).update(age=20)
- 程序 A2 在程序 A1 数据库提交之前拿到了 A 对象, 并只更新 email 字段
user = User.object.get(username='xxx')
# 此时 age=30
user.email = '[email protected]'
user.save()
- user.save() 默认更新全部字段,又会把 age 变回 30
- 线上遇到这种问题蛮难排查的,记一下