将Django模型设为只读?

AP2*_*257 14 django django-models

在锡上说的是什么.有没有办法让Django模型只读?

我的意思是一个Django模型,其中一旦创建了记录,就无法编辑它们.

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

Tom*_*ort 10

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

def save(self, *args, **kwargs):
    if self.id is None:
        super(ModelName, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

因此,在此示例中,您只在实体尚未获得更改时保存更改id,这只是当它是尚未插入的新实体时的情况.