我想知道什么是表示模型的最佳方式,因为有一些共同的领域和其他根据类别而变化的领域。
示例:常用字段:(标题,作者,内容,照片,参考)
类别及其特定领域:传记(出生数据,死亡数据,职业)纪念日期(数据,描述)音乐(艺术家,专辑,年份,音乐风格)
最好的方法是创建一个具有公共字段的通用模型,而其他字段继承自它(抽象模型)?
为每个类别创建一个模型,即重复公共字段?
使用公共字段创建单个模型,并有一个类别字段,选中后会在django-admin中显示特定于类别的字段?在那种情况下,我想它将用jquery完成?任何参考?在互联网上没有任何材料。
注意:注册的所有用户交互都在django-admin中。
来自文档:
- 通常,您只想使用父类来保存您不希望为每个子模型键入的信息。这个类不会被孤立使用,所以抽象基类就是你所追求的。
- 如果你是现有模型的子类(可能是完全来自另一个应用程序的东西),并希望每个模型都有自己的数据库表,那么多表继承是最佳选择。
因此,如果您不希望父类拥有自己的表,那么abstract model
就是您的选择。