1. 程式人生 > >Django:學習筆記(7)——模型進階

Django:學習筆記(7)——模型進階

mode comm pre clas score tro 數據表 通過 rac

Django:學習筆記(7)——模型進階

模型的繼承

  我們在面向對象的編程中,一個很重要的的版塊,就是類的繼承。父類保存了所有子類共有的內容,子類通過繼承它來減少冗余代碼並進行靈活擴展

  在Django中,父類可以是一個實際的模型(即有同步的數據表),也可以是一個抽象的模型(只用來保存子模型共有內容,並不實際創建數據表)

抽象繼承

  將一個類轉換為抽象類,然後其他類再繼承它,來完成抽象繼承。

class CommonInfo(models.Model):
    name = models.CharField(max_length=100)
    age = models.PositiveIntegerField()
    class Meta:
        abstract=True

class Student(CommonInfo):
    score = models.FloatField()

  數據遷移後,不會創建CommonInfo數據表,因為他是抽象類。

  

Django:學習筆記(7)——模型進階