【问题标题】:Archiving data in Django like a magic?像魔术一样在 Django 中归档数据?
【发布时间】:2016-07-16 17:35:44
【问题描述】:

我的项目有很多模型。

每个模型都有一个字段 is_active ,在生产时为 True ,在完成或未使用时为 False 。

Django 是否有任何默认的魔法解决方案? 我有大约 40-60 个模型,所以理想情况下它应该是一个解决方案涵盖所有。

我发现这个答案Archiving model data in Django 需要单独为每个模型进行开发,这将创建很多模型。

任何魔法替代品?

【问题讨论】:

    标签: django archive


    【解决方案1】:

    我会用Abstract Model Inheritance 解决这个问题。

    这将允许您为一个类和一组字段编写逻辑,并将应用于所有子类。

    class IsActive(models.Model):
        class Meta:
            abstract = True
        is_active = models.BooleanField(default=False)
    
        def toggle_active(self):
            self.is_active = !self.is_active
    
    class Child(IsActive):
        # This object now has `is_active` and `toggle_active` fields.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-24
      • 2015-02-27
      • 2011-07-06
      • 2012-03-24
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      相关资源
      最近更新 更多