多表继承以及从父级到子级的继承

时间:2018-06-20 17:02:22

标签: django orm multi-table-inheritance

我有两个这样的模型设置。

class ModelA(models.Model):
    parent = models.ForeignKey("self")

class ModelB(ModelA):
    def action(self):
        if self.parent is not None:
            self.parent.action()

当然,通常,当我保存到模型时,我将保存为ModelB类型。

当我调用action并查看发生了什么时,我发现self确实是ModelB类型的。但是,self.parent是ModelA类型的。我猜这是因为ModelA实际上具有“父”字段。发生什么错误,我收到了ModelA没有属性“动作”的错误。

因此,鉴于此,当对象为ModelA类型时,如何使用ModelB中的方法?

0 个答案:

没有答案