Django中的模型继承
生活随笔
收集整理的這篇文章主要介紹了
Django中的模型继承
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、使用最原始的方式繼承
class Animal(models.Model):name = models.CharField(max_length=20)age = models.IntegerField() class Cat(Animal):weight = models.IntegerField() class Dog(Animal):height = models.IntegerField()注意:繼承方式不是很合理,父類也會對應一張表。?效率比較低。
默認在父類中定義的字段會存在父類表中,子類的數據通過外鍵關聯父表中數據,子類只有特殊的數據在子表中。
2、Django中的數據庫模塊提供了一個非常不錯的功能,就是支持models的面向對象,可以在Meta類中指定是否抽象,然后繼承。
class Animal(models.Model):name = models.CharField(max_length=20)age = models.IntegerField()class Meta():# 讓該類抽象,抽象的父類不會再生產數據表# 子類會繼承父類中的通用數據,復制到子表中abstract = True class Cat(Animal):weight = models.IntegerField() class Dog(Animal):height = models.IntegerField()?
轉載于:https://www.cnblogs.com/Li-1198208544/p/9455239.html
總結
以上是生活随笔為你收集整理的Django中的模型继承的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 珂朵莉的约数(牛客练习赛9)
- 下一篇: Apache ActiveMQ 远程代码