16-模型继承

# 1. 默认数据库就是允许继承的,但默认的继承处理方式不是很合理
'''
  默认在父类中定义的字段会存在父类的表中,子类的数据通用部分会存在父表中,
  子类特有数据会在子表中,子类通过外键进行级联
  默认方式比较垃圾,效率比较低
'''

#  2. 开发中,需要将父类抽象化,在元信息中使用 abstract = True
'''
   抽象化的父类不会再数据库生成表了
   子类会将父类中的通用数据,复制到子表中
'''
# 创建公共模型
class BaseModel(models.Model):
    class Meta:
        abstract = True # 父类不生成表

class raduateG(BaseModel):
    # 如果父类抽象,子类会获取到父类所有属性,生成表
    age = models.IntegerField()
posted @ 2023-03-28 18:30  测试圈的彭于晏  阅读(28)  评论(0)    收藏  举报