我想找到防止保存对象,如果以后我检查出来是保存的一个通用的方法。

我们可以假定对象具有包含最后修改时间一个timestamp字段。如果我签出在t1(访问使用实例的ModelForm视图)和对象是在t2再次保存,给予t2> t1我不应该能够保存它。

有帮助吗?

解决方案

覆盖的保存方法,将首先检查最后的时间戳:

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()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top