
user = User.object.filter(username='xxx', age=30).update(age=20) user = User.object.get(username='xxx') # 此时 age=30 user.email = '[email protected]' user.save() 1 aapeli 2023 年 8 月 15 日 # select_for_update ``` user = User.objects.select_for_update().get(username='xxx') # 此时 age=30 user.email = '[email protected]' user.save() ``` |
2 aapeli 2023 年 8 月 15 日 |
3 wuwukai007 OP @aapeli 这里两个程序更新的不同字段,类似 update user set email='xx' where username='xx', 另一个 update user set age=30 where username='xx' ,这个没必要用锁,互相不影响的 |
4 aapeli 2023 年 8 月 15 日 提一点:楼主的 update_fields 可以解决不同字段同时更新的问题,但可能无法解决并发更新相同字段的问题 |
5 fantathat 2023 年 8 月 15 日 via iPhone 是的呀 |
6 vishun 2023 年 8 月 15 日 用乐观锁 |
7 45HXlKzal6W56zUJ 2023 年 8 月 23 日 所以不要用 save ,用 update , update 只更新某个字段,save 是全部更新为当前对象的信息 |