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中的模型继承相关推荐

  1. Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)

    Django中的模型类的定义以及模型类字段属性和选项 1.模型类的定义 2.模型类属性命名限制 2.1字段类型和属性 2.2选项 1.模型类的定义 ORM:表就代表类,字段代表属性 模型类需要继承自m ...

  2. Django框架(16.Django中的模型类管理器以及自定义管理器)

    模型类.objects.all()->objects是一个什么东西呢? 答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询. objects是model ...

  3. Django中的模型层

    模型层的了解 大家都知道Django遵循的是MTV模式,其中M指的就是Model,就是今天要学习的模型层. 模型(Model)负责业务 对象和 数据库的 关系映射(ORM) ORM是"对象- ...

  4. django中model模型

    python manage.py dumpdata blog       # 导出blog数据 python manage.py loaddata blog_dump.json   # 导入数据  m ...

  5. Django中--自定义模型管理器类

    BookInfo.objects.all()->objects是一个什么东西呢? 答:objects是models.Manger类的一个对象,是Django帮我自动生成的管理器对象,通过这个管理 ...

  6. Django中models模型(操作数据库)

    ORM 自己创建数据库 连接数据库 Django操作表 数据库操作 新建 删除 获取数据 实例:用户管理 Django开发操作数据库更简单,内部提供了ORM框架 ORM的流程 ORM ORM,全称 O ...

  7. Django框架(25.Django中的模板继承以及HTML转义)

    模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量. 典型应用:网站的头部.尾部信息. 父模板 如果发现在多个模板中某些内容相同,那就应该把这段内容定义到父模板中. ...

  8. Django中Model继承的三种方式

    Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...

  9. Django项目实践3 - Django模型(字段、数据库操作及模型继承)

    http://blog.csdn.net/pipisorry/article/details/45725953 Django数据库字段类型(Field types) AutoField class A ...

最新文章

  1. springMVC参数绑定与数据回显
  2. mac+修改+ssh文件夹权限_用SSH指令批量修改文件夹 文件权限和拥有者
  3. linux web 服务器性能,Linux系统Web服务器性能测试(2)
  4. 碎片化学习不是学习碎片,看这篇了解碎片化学习的真相
  5. ★深入探讨高维宇宙【二】
  6. java quartz JobBuilder
  7. 对勾函数_这16个Excel函数,帮你完成80%的数据统计工作
  8. Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结
  9. 自动驾驶仿真:VTD自定义超声波雷达FOV
  10. mac上SCRT中文变问号的处理方式,亲测有效
  11. 系统集成项目管理工程师有什么用?
  12. android 打印机 万能驱动,万能打印机驱动专家
  13. 实验4:Linux下C语言编程
  14. 蒙德里安的梦想 状态压缩DP (1)
  15. 男人成为富翁必备五大特质
  16. 渺小的个体不能体会之孤独
  17. ValueError: With n_samples=0, test_size=0.2 and train_size=None, the resulting train set will be emp
  18. 【论文笔记】DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION
  19. 模块管理 Guice
  20. python 基于图片识别针对不同的分辨率进行鼠标点击

热门文章

  1. powershell电脑加域退域
  2. .NET Socket服务编程之-高效连接接入编
  3. spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava
  4. 如何防御DDoS攻击
  5. 2021-10-20 Speaking Class
  6. 永远不要让女生帮你寄领带
  7. 加州圣地亚哥电子和计算机工程研究生申请入口
  8. 接着做!一往无前!冲!就是我的信条!
  9. sudo apt install ...
  10. 蓝港CIO韩明顺谈零售数字化转型:面向体验、玩转数据