Multitable наследование и передача от родителя к ребенку

У меня две модели настроены так.

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

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

Обычно, когда я сохраняю модель, я сохраняю ее как тип ModelB.

Когда я вызываю действие и смотрю на происходящее, я вижу, что "я" действительно имеет тип ModelB. Однако self.parent имеет тип ModelA. Я предполагаю, что это потому, что ModelA на самом деле имеет поле "родитель". Что происходит, я получаю ошибку, что ModelA не имеет атрибута "действие".

Итак, учитывая это, как я могу использовать методы в ModelB, когда объект имеет тип ModelA?

0 ответов

Другие вопросы по тегам