1107. 表关联对象及多表查询

发布时间 2023-05-22 11:13:07作者: 興華

一、关系表的数据操作

1. 关系表的数据操作,查看数据库中的表结构

2. 一对多关系数据的添加

① 第一中方式就是跟之前一样,用传参的方式添加,需要注意的是外键的值必须是关联表中已经存在的值

② 第二种方式是用的属性赋值的方式,因为我们在模型类有定义了一个department的属性,而这个属性的对象的类型必须是department表的类实例对象

二、 表关联对象的访问

表关联对象的访问

Student的模型类中我们有定义department的属性,所以当我们去访问的时候,可以直接通过student.department的形式去找到某个学生的所属学院是哪个。

处理关联对象的一些方法

add(obj1, obj2, ... )添加的已经存在数据库的数据,添加——指定的模型对象到关联的对象集中。

create(**kwargs) 添加不存在的数据,将数据直接存入数据库

创建一个新的对象,将它保存并放在关联的对象集返回新创建的对象

remove(obj1, obj2, ... ) 

从关联的对象集中删除指定的模型对象。删除的是关系表中的数据。

dear() 从关联的对象集中删除所有的对象

注:对于所有类型的关联字段,add()、create()、remove()、clear()都会马上更新数据库。换句话说,在关联的任何一端,都不需要再调用save()方法。

三、 多表查询