django模型继承

太过爱你忘了你带给我的痛 2022-04-16 04:28 383阅读 0赞

`

模型继承

django中的数据库模块提供了一个非常不错的功能,就是支持models的面向对象,可以在models中添加Meta,指定是否抽象,然后进行继承

  1. class Animal(models.Model):
  2. xxx
  3. class Meta:
  4. abstract = True/False
  5. class Dog(Animal):
  6. xxx

默认模型就是允许继承的,但是默认的继承处理方式不是很合理:

  • 默认在父类中定义的字段会存在父类的表中,子类的数据通用部分会存在父表中,子类特有数据会在子表中,子类通过外键进行级联
  • 默认方式比较垃圾,效率比较低

开发中,需要将父类抽象化,在元信息中使用abstract=True

  • 抽象化的父类不会再数据库生成表了
  • 子类会将父类中的通用数据,复制到子表中

发表评论

表情:
评论列表 (有 0 条评论,383人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Django模型

    Django 模型 Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 为这些数据库提供了

    相关 Django模型

    Django模型 Django对各种数据库提供了很好的支持。包括MySQL,SQLite,Orcale等。 Django为这些数据库提供了统一的调用api。可以根据不同

    相关 Django 模型

    Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要