【发布时间】:2010-03-04 04:36:50
【问题描述】:
如果我正在构建一个包含 30 多个模型的应用程序,并且我希望将来可以选择将自定义管理器或其他功能插入到所有模型中,那么使用抽象基础模型是否是个好主意并为每个模型子类化它,还是有令人信服的理由不这样做?
【问题讨论】:
标签: django django-models
如果我正在构建一个包含 30 多个模型的应用程序,并且我希望将来可以选择将自定义管理器或其他功能插入到所有模型中,那么使用抽象基础模型是否是个好主意并为每个模型子类化它,还是有令人信服的理由不这样做?
【问题讨论】:
标签: django django-models
我在大 ORM 重写之前开始使用 Django,所以我养成了创建一个 MixIn 类的习惯,它为我们所有的内容类提供了许多通用功能。常见的 URL 创建方案、成员级别检查功能等。
由于我们在所有模型中使用了非常一致的命名方案,这近似于 ABC,但它只是 Good Old Python。模型声明如下所示:
class SomeModel(models.Model, MixInClass):
pass
【讨论】: