Как переопределить поле в родительском классе - PullRequest
10 голосов
/ 01 августа 2011

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

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

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

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

1 Ответ

13 голосов
/ 01 августа 2011

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

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

...