我们在面向对象的编程中,一个很重要的的版块,就是类的继承。父类保存了所有子类共有的内容,子类通过继承它来减少冗余代码并进行灵活扩展。
在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数据表,因为他是抽象类。
原文:https://www.cnblogs.com/MrSaver/p/10447539.html