目录 一.控制多表关系的字段属性 1.如何建立基表 2.断开连表关系 3.四种级联关系 二.子序列化 一.控制多表关系的字段属性 1.如何建立基表 要在基表中配置Meta,设置abstract=True,声明本表为抽象类表,专门用来被继承,用来提供公有字段的,不需要在数据库中迁移. # models.py from django.contrib.auth.models import User class BaseModel(models.Model): is_delete = models.Bo…
一:django中ORM创建表关系 ORM创建外键关系 1.表与表之间的关系 1.表与表之间的关系 一对多 一对一 多对多 2.操作目标条件: 图书表 出版社表 作者表 作者详情表 3.外键关联 一对多: 图书和出版社是一对多的关系 外键字段建在多的那一方 book 多对多: 图书和作者是多对多的关系 需要创建第三张表来专门存储 一对一: 作者与作者详情表是一对一 4.表关系的判断 换位思考 ORM针对外键字段的创建位置 1.不常用的数据我们称之为冷数据 2.常用的数据我们称之为热数据 一对多:…
ORM模型多表逻辑创建: 以图书和作者关系模型为例: models.py from django.db import models ''' 一本书只能被一个出版社出版; 一个出版社可以出版多本书; 一个作者可以写多本书; 一个作者唯一对应自己的信息描述 一本书可以有多个作者 id不指定,orm自动创建字段为id的主键: id=models.AutoField(primary_key=True) '''     # 出版社表 class Publish(models.Model): publish…
CRM中QueryDict和模型表知识补充 1.QueryDict的用法 request.GET的用法:1.在页面上输入:http://127.0.0.1:8000/index/print(request.GET,type(request.GET))<QueryDict: {}> <class 'django.http.request.QueryDict'>在收到GET请求后,Django会将后面的参数以字典的形式接收.如果无参数就显示空字典2.在页面上输入:http://127.…
目录 1.ORM 2.ORM单表增删改查 13个必知必会的查询接口 filter基于双下划线的模糊查询 3.ORM多表增删改查 ORM 什么是ORM? ORM(object relational mapping) 对象关系映射,做数据库操作的 ORM中的对象关系映射 ORM的实际使用 1.首先,我们在django项目的app01/models.py中写入如下内容 class Book(models.Model): # id 这行可写可不写,如果不写的话,系统也会自动添加上去 id = model…
对象  关系  模型 wusir博客地址orm官网API总结 django官网orm-API orm概要: ORM 跨表查询 class Book(models.Model): title = models.CharField( max_length=32) publish=models.ForeignKey(to="Publish",to_field="id") authors=models.ManyToManyField(to='Author',related_…
外键 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的. 外键的使用 使用外键前需要先确保相应外键已存储在数据库中(flask中会在你引用时自动保存相应外键). 如果想要引用另外一个app的模型,那么应该在传递to参数的时候,使用app.model_name进行指定. 如果模型的外键引用的是本身自己这个模型,那么to参数可以为'self',或者是这个模型的名字. 外键的删除 如果一个模型使用了外键.那么在对方那个模型被删掉后…
1表与表之间三种关系 1.1 一对一关系 举例: 一个丈夫对应一个妻子,一个妻子对应一个丈夫 1.2 一对多关系 举例:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆 分析:这种情况其实也可以采用 一张表,但因为一个人可以拥有多辆汽车,如果采用一张表,会造成冗余信息过多.好的设计方式是,人和车辆分别单独建表,那么如何将两个表关联呢?有个巧妙的方法,在车辆的表中加个外键字段(人的编号)即可. 1.3 多对多关系 例如:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择. 分析:这种…
多表操作 文件为 ---->  orm2 数据库表关系之关联字段与外键约束 一对多Book id title price publish email addr php 人民出版社 北京 python 沙河出版社 沙河 go 人民出版社 北京 java 人民出版社 北京 Book多 id title price publish_id php python go java Publish一 id name email addr 人民出版社 北京 沙河出版社 沙河 查询python这本书的出版社的邮箱…
1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ORM功能: 操作表:创建,修改,删除 操作数据行:增删改查 此外django没办法帮我们创建数据库,只能自己创建完后,再让django去链接 2.相关配置 如果要将模型转化为mysql数据库中的表,需要在setting中配置: DATABASES = { 'default': { 'ENGINE'…