我想找到一种阻止保存对象的通用方法,如果它在我签出后保存了。
我们可以假设该对象具有包含最后修改时间的timestamp
字段。如果我在t1
签出(使用ModelForm访问了一个视图)并且t2
再次保存了该对象,则t2
> t1
我无法保存它。
答案 0 :(得分:3)
覆盖首先检查上一个时间戳的保存方法:
def save(self):
if(self.id):
foo = Foo.objects.get(pk=self.id)
if(foo.timestamp > self.timestamp):
raise Exception, "trying to save outdated Foo"
super(Foo, self).save()