Django - 所有模型的相同抽象基础模型?好坏?

时间:2010-03-04 04:36:51

标签: django django-models

如果我正在构建一个包含30多个模型的应用程序,并且我希望选择在未来的所有模型中插入自定义管理器或其他功能,那么使用抽象基础模型是个好主意并将它与每个模型子类化,还是有令人信服的理由不这样做?

1 个答案:

答案 0 :(得分:2)

我在伟大的ORM Rewrite之前开始做Django,所以我养成了创建MixIn类的习惯,该类在所有内容类中提供了许多通用功能。像常见的URL创建方案,成员资格级别的检查功能等等。

由于我们在所有模型中使用了非常一致的命名方案,这近似于ABC,但它只是Good Old Python。模型声明如下:

class SomeModel(models.Model, MixInClass):
    pass