在Django中是否明确支持单表继承?最后我听说,这个特征仍处于开发和辩论之中.
在此期间我是否可以使用库/黑客来捕获基本行为?我有一个混合不同对象的层次结构.具有Employee类的公司结构的规范示例,雇员类型的子类以及manager_id(parent_id)将是我正在解决的问题的良好近似.
就我而言,我想表达一个想法,即员工可以管理其他员工,同时由不同的员工管理.Manager和Worker没有单独的类,这使得这很难跨表传播.子类将代表员工类型 - 程序员,会计师,销售等,并且独立于谁监督谁(好吧,我想它在某些方面不再是典型的公司).
Django目前有两种形式的继承--MTI(模型表继承)和ABC(抽象基类).
我写了一篇关于幕后发生的事情的教程.
您还可以参考模型继承的官方文档.
我认为OP正在询问这里定义的单表继承:
关系数据库不支持继承,因此当从对象映射到数据库时,我们必须考虑如何在关系表中表示我们的良好继承结构.映射到关系数据库时,我们尝试最小化在多个表中处理继承结构时可以快速挂载的连接.单表继承将继承结构的所有类的所有字段映射到单个表中.
也就是说,实体类的整个层次结构的单个数据库表.Django不支持这种继承.