如何覆盖父类中的字段

时间:2011-08-01 11:27:03

标签: python django class override

我在Django模型中有父类和子类。我想在初始化子类时填充父类中的字段。或者在子类中覆盖此字段。

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

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

还尝试覆盖init方法,但它也不起作用。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:13)

  

在普通的Python类继承中,子类允许覆盖父类的任何属性。在Django中,不允许使用Field实例的属性(至少目前不是这样)。如果基类有一个名为author的字段,则无法在从该基类继承的任何类中创建另一个名为author的模型字段。

你做不到。 Reference