flask - 表格之间的关联

概述

  1. 一对多
  2. 多对多

一对多

首先创建表格,在上篇博文 ‘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&#
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值