【问题标题】:django freeze modeldjango 冻结模型
【发布时间】:2012-03-06 00:40:24
【问题描述】:

如何创建具有以下功能的模型:

  1. 模型应包含一个“冻结”的一次性布尔保险丝,它以 False 开始,可以更改为 True,但只能在一个方向上。
  2. 如果熔断器为 True,则不应更改实例。
  3. 系统不应影响管理界面的使用 - 如果熔断器熔断 (True),则应静默忽略所有写入。

我遇到了一个问题,即对于给定的 ORM 实例,如何检查实例的数据库版本是否包含熔断的保险丝。

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    覆盖模型的save 方法。

    【讨论】:

    • 然后用它做什么?保存时如何区分frozendatabase中是True还是False(内存中self.frozen的状态可以改变,并且不能被信任)
    • 也许是 Model.objects.get(pk=self.pk).frozen?那行得通吗?
    • @qdot 或者,更好的是,将 freeze 属性放在查询中。
    • 在 save() 中进行 db 查询会导致完整性错误吗?相关的密钥保存之类的?
    • @qdot:我想不出它会导致问题的原因,但我不会发誓它完全安全。
    猜你喜欢
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 2018-12-27
    • 2019-11-16
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多