概述
- 一对多
- 多对多
一对多
首先创建表格,在上篇博文 ‘flask - 表格’ 的
学生表模型(Student)字段后面:加上
# 创建外键 关联到班级标的主键, 实现一对多关系,班级表中也要有对应操作 s_g = db.Column(db.Integer, db.Foreignkey('grade.g_id'), nullabel=True)
班级表 (Grade) 后面加上:
# 定义班级标的一对多关系,不是字段, Student为学生表模型, backref反向查找 students =db.relationship('Student',backref='stu111', lazy=True)
当表格创建成功,数据加成功时可以利用一对多关系实现表格之间快速的查询
# 一对多反向 通过学生 查询学生所在的班级 stu = Student.query.get(id) grade = stu.stu111 # 正向查询 grade = Grade.query.get(id) student = grade.students
多对多
创建中间表(外键管理表)
# 实现多对多关系 定义中间表 用来管理外键 # 实现学生表与课程表的多对多关系 # sc-变量; 'sc'-存放外键表格的名称; 's_id'-字段的名称(外键); 'student.s_id&#