是否可以从数据库刷新django对象的状态?我的意思是行为大致相当于:
new\u self=self.\uuuu class\uuu.objects.get(pk=self.pk)
对于记录的每个字段:
setattr(self,field,getattr(new_self,field))
更新:在跟踪器中找到重新打开的/wontfix-war:http://code.djangoproject.com/ticket/901.
仍然不明白为什么维护人员不喜欢这样
从Django 1.8开始,内置刷新对象。链接到文档
def test\u update\u结果(self):
obj=MyModel.objects.create(val=1)
MyModel.objects.filter(pk=obj.pk).update(val=F('val')+1)
#此时obj.val仍然是1,但数据库中的值
#已更新为2。需要重新加载对象的更新值
#从数据库中。
对象。从_db()刷新_
自我评估资格(obj.val,2)