我的项目有很多模型。
每个模型都有一个字段is_active,在生产时为True,在完成或未使用时为False。
Django有没有默认的魔术解决方案? 我有大约40-60个模型,所以理想情况下它应该是一个解决方案涵盖所有。
我发现这个答案Archiving model data in Django需要单独为每个模型进行开发工作,这将创建很多模型。
任何魔术替代品?
答案 0 :(得分: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.