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中的模型继承相关推荐
- Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)
Django中的模型类的定义以及模型类字段属性和选项 1.模型类的定义 2.模型类属性命名限制 2.1字段类型和属性 2.2选项 1.模型类的定义 ORM:表就代表类,字段代表属性 模型类需要继承自m ...
- Django框架(16.Django中的模型类管理器以及自定义管理器)
模型类.objects.all()->objects是一个什么东西呢? 答:objects是Django帮我自动生成的管理器对象,通过这个管理器可以实现对数据的查询. objects是model ...
- Django中的模型层
模型层的了解 大家都知道Django遵循的是MTV模式,其中M指的就是Model,就是今天要学习的模型层. 模型(Model)负责业务 对象和 数据库的 关系映射(ORM) ORM是"对象- ...
- django中model模型
python manage.py dumpdata blog # 导出blog数据 python manage.py loaddata blog_dump.json # 导入数据 m ...
- Django中--自定义模型管理器类
BookInfo.objects.all()->objects是一个什么东西呢? 答:objects是models.Manger类的一个对象,是Django帮我自动生成的管理器对象,通过这个管理 ...
- Django中models模型(操作数据库)
ORM 自己创建数据库 连接数据库 Django操作表 数据库操作 新建 删除 获取数据 实例:用户管理 Django开发操作数据库更简单,内部提供了ORM框架 ORM的流程 ORM ORM,全称 O ...
- Django框架(25.Django中的模板继承以及HTML转义)
模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量. 典型应用:网站的头部.尾部信息. 父模板 如果发现在多个模板中某些内容相同,那就应该把这段内容定义到父模板中. ...
- Django中Model继承的三种方式
Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...
- Django项目实践3 - Django模型(字段、数据库操作及模型继承)
http://blog.csdn.net/pipisorry/article/details/45725953 Django数据库字段类型(Field types) AutoField class A ...
最新文章
- springMVC参数绑定与数据回显
- mac+修改+ssh文件夹权限_用SSH指令批量修改文件夹 文件权限和拥有者
- linux web 服务器性能,Linux系统Web服务器性能测试(2)
- 碎片化学习不是学习碎片,看这篇了解碎片化学习的真相
- ★深入探讨高维宇宙【二】
- java quartz JobBuilder
- 对勾函数_这16个Excel函数,帮你完成80%的数据统计工作
- Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结
- 自动驾驶仿真:VTD自定义超声波雷达FOV
- mac上SCRT中文变问号的处理方式,亲测有效
- 系统集成项目管理工程师有什么用?
- android 打印机 万能驱动,万能打印机驱动专家
- 实验4:Linux下C语言编程
- 蒙德里安的梦想 状态压缩DP (1)
- 男人成为富翁必备五大特质
- 渺小的个体不能体会之孤独
- ValueError: With n_samples=0, test_size=0.2 and train_size=None, the resulting train set will be emp
- 【论文笔记】DEEP FEATURE SELECTION-AND-FUSION FOR RGB-D SEMANTIC SEGMENTATION
- 模块管理 Guice
- python 基于图片识别针对不同的分辨率进行鼠标点击