Как переопределить поле в родительском классе

У меня есть родительские и дочерние классы в модели Django. И я хочу заполнить поле в родительском классе при инициализации дочернего класса. Или переопределить это поле в дочернем классе.

    class Parent(models.Model):
        type = models.CharField()

    class Child(Parent):
        type = models.CharField()  //Doesn't work

также пытается переопределить метод init, но он тоже не работает. Как я могу это сделать?

1 ответов


в обычном наследовании класса Python допустимо, чтобы дочерний класс переопределял любой атрибут из родительского класса. В Django это запрещено для атрибутов, которые являются экземплярами полей (по крайней мере, на данный момент). Если базовый класс имеет поле с именем author, нельзя создать другое поле модели с именем author в любом классе, наследуемом от этого базового класса.

вы не можете. ссылка