如何重写父类中的字段
我在Django模型中有父类和子类。我想在初始化子类的时候填充父类中的一个字段,或者在子类中覆盖这个字段。
class Parent(models.Model):
type = models.CharField()
class Child(Parent):
type = models.CharField() //Doesn't work
我也尝试过覆盖初始化方法,但也没有成功。请问我该怎么做呢?
1 个回答
16
在普通的Python类继承中,子类可以随意覆盖父类的任何属性。但是在Django中,对于那些是字段实例的属性,这种做法是不被允许的(至少目前是这样)。如果一个基类有一个叫做author的字段,那么在任何继承自这个基类的类中,你都不能再创建一个叫做author的模型字段。
你是不能这样做的。参考链接