Django框架之模型层 多表操作
目录 一、多表关系 二、多表操作 2.1 分析多表关系 2.2 创建表 2.3 外键字段的增删改查 2.4 多对多字段的四个方法 三、跨表查询 3.1 子查询 3.2 连表查询 一、多表关系 回顾一下设置外键的sql语句: foreign key(外键字段) references 关联表(关联字段) 设置级联关系: on update cascade # 更新级联关系,要改一起改 on delete cascade # 删除历练关系,要死一起死 一对一 外键在任何一方都可以,但是尽量放在使用的次数多的一方,并设置字段唯一键, 一对多 外键放在多的一方,此时外键不唯一 多对多 一定要创建第三张表(关系表),每一个外键值不唯一,但可以多个外键建立联合唯一 二、多表操作 首先多表操作,应该在建表之前,就先设计好多表关系,然后再去创建表。 2.1 分析多表关系 需求:现在需要写一个图书管理的程序,需要设计表。如何设计 图书表 图书表包括(书名、价格、出版日期) 出版社表 出版社表包括(出版社名、地址) 作者简介表 作者简介表包括(作者名、年龄) 作者详情表 作者详情表包括(电话、地址) 一对一: 一个作者简介唯一对应作者详情表,一个作者详情也唯一对应作者简介 一对多: 一个图书对应唯一对应一个出版社,一个出版社可以对应多本书 多对多: 一个图书对应多个作者,一个作者也同样对应多本书 2.2