Django模型基础第四节:多表查询

关系表的数据操作:

查看数据库中的表结构.
在这里插入图片描述

一对多表关系数据的添加:

在这里插入图片描述
1.第一种方式就是跟之前的一样,用传参的方法添加,需要注意的是外键的值必须是关联表中已经存在的值.
2.第二种方式是用的属性赋值的方式,因为我们在模型类有定义了一个department的属性,而这个属性的对象的类型必须是department表的类实例对象

表关联对象的访问:

外键关联 一对一 学院与学生
在这里插入图片描述
如果只用department 而不用department_id 必须创建实例对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询某个学生属于哪个学院
在这里插入图片描述
在这里插入图片描述
学院查询学生
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
学生表中存在外键属性

子表查询主表为正向查询

主表查询子表为反向查询

当学院表查询学生的时候 反向查询 实例.类名_set

在这里插入图片描述
举例:北大招聘学生哈哈哈 (更改对应的外键值 add方法)

一定是添加实例对象 所存在的数据才能通过add方法进行添加

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

北大招聘新生老炮儿

在这里插入图片描述

查询

在这里插入图片描述
从学生表中获取学生所在的学院

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询属于北大的学生

在这里插入图片描述
查询所有学院名字为三毛学生的年龄
在这里插入图片描述
查询年龄为18岁的学生
在这里插入图片描述

多表查询 跨关联关系的查询:

Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42662411/article/details/104652447