010:Django高级模型

本章知识点
1、Django模型关系字段介绍与使用
2、Django模型关系字段查询
知识点讲解
1、Django模型关系字段介绍与使用
业务主体间的关系
学生 和 专业 关系
一个学生对应一个专业
一个专业对应多个学生
一对多关系 Foreignkey 外键
查询这个学生对应的专业
查询这个专业所有学生
学生 和 老师的关系
一个学生对应多个老师
一个老师对应多个学生
多对多关系 ManyToManyField
一个老师教过的所有学员
一个学员所有的老师

外键
专业 一
学生 多
外键字段 对应 专业表的主键
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们研究这两种关系,从以下的两个角度
1、数据表
一对多正常生成数据表
多对多额外生成关系表
在这里插入图片描述
在这里插入图片描述
关系表的结构如下:
在这里插入图片描述
在这里插入图片描述
一个老师有多个学生
老师表里无法表示多个学生
一个学生有多个老师
学生表里无法表示多个老师
创建了关系表

一个学科有多个学生
学科表无法表示多个学生
学生表可以表示一个学科
案例如下:
在这里插入图片描述
Teacher在这里插入图片描述
Project在这里插入图片描述
Student在这里插入图片描述
Teacher_student在这里插入图片描述
Select * from teacher wherr id in (select teacher_id from student_techer where = student_id = (Select id from student where name = “小白”))
2、Django模型关系字段查询
1、外键
查询学生对应的项目
在这里插入图片描述
这样的查询时候最简单的,学生当中外键字段对应的就是外键的完整信息,可以直接获取
项目对应的所有学生
视图部分
在这里插入图片描述
前端部分在这里插入图片描述
2、多对多数据
老师和学生
老师对应所有学生
在这里插入图片描述
学生对应的所有老师在这里插入图片描述
本章总结
Django模型关系字段介绍与使用
Django模型关系字段查询

猜你喜欢

转载自blog.csdn.net/weixin_43582101/article/details/86188405