2011-08-01 101 views
10

我在Django模型中有父類和子類。我想在初始化子類時在父類中填充一個字段。或者在子類中覆蓋此字段。如何覆蓋父類中的字段

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

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

也嘗試重寫init方法,但它不起作用。 我該如何做到這一點?

回答

13

在正常的Python類繼承中,允許子類覆蓋父類的任何屬性。在Django中,這是不允許用於Field實例的屬性(至少現在不是這樣)。如果基類有一個名爲author的字段,則不能在任何繼承自該基類的類中創建另一個稱爲author的模型字段。

你不行。 Reference