django - 将 Django 模型设为只读?

标签 django django-models

jar 头上写着什么。有没有办法让 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/

相关文章:

django - Django REST Framework部分更新和验证

django reverse 导致循环导入

django - 如何在 Django 中过滤 values_list

regex - Django 搜索存储在模型中的正则表达式列表

python - Django NOT NULL 约束失败 : shop_product. user_id

python - Django 和 MVC(MVT) 布局

javascript - 在 Django 中的 AJAX POST 请求后重新加载模板

python - NameError at/name 'article_finish_date' 未定义

python - Django:NoReverseMatch 位于 ' ' 。 ' ' 不是有效的 View 函数或模式名称

python - Django 设置默认表单值