Django ORM Cookbook是一本不错的关于Django进阶的英文书籍,里面回答了很多我们在利用Django开发Web APP过程中经常遇到的问题,还有许多值得推荐的技巧。这是下篇,上篇文章见Django ORM Cookbook精选摘录(上)。我们着重分享下在Django项目中保持不同模型数据同步更新,使用信号signals和重写save方法哪个更好?
1. 使用refresh_from_db重新载入一个字段更改后过的对象
由于Django对queryset自带缓存的属性,当你对一个对象或很多个对象的某些字段进行更新后,你还需要使用refresh_from_db()载入字段更改过后的对象或查询集,要不然内存里还是老的数据。
class TestORM(TestCase):
def test_update_result(self):
userobject