它在锡罐上怎么说。有没有办法使Django模型为只读?

我的意思是一个Django模型,一旦创建了记录,就无法对其进行编辑。

这对于记录交易历史的模型很有用。

最佳答案

您可以覆盖模型的save方法并检查它是否为现有实体,在这种情况下,您将不会保存任何更改:

def save(self, *args, **kwargs):
    if self.id is None:
        super(ModelName, self).save(*args, **kwargs)


因此,在此示例中,您仅在实体尚未获得id时保存更改,仅当它是尚未插入的新实体时才如此。

关于django - 将Django模型设为只读?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4334049/

10-11 19:56
查看更多