Flask 数据库 - 多对多操作

咱们继续,既然有单表,一对多,也必然少不了今天的主角 ‘多对多’

多对多关系

多对多关系中, 必须创建独立的关系表来关联数据

在这里插入图片描述多对多中, 通过关系属性来关连/查询数据

1> 定义关系表来设置外键
2> 定义关系属性 多对多关系属性, 还需要设置参数secondary="关系表名"
3> 使用关系属性来关联数据

多对多是通过建立中间表实现的。中间表值记录关系和存储关系字段。

这个中间表将互为多对多的关系表的主键设为外键。

这个关系表是直接建立的,不适用于模型类映射

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
# 设置数据库连接地址
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:mysql@127.0.0.1:3306/test18"
# 是否追踪数据库修改  很消耗性能, 不建议使用
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
# 设置在控制台显示底层执行的SQL语句
app.config["SQLALCHEMY_ECHO"] = False

# 创建数据库连接
db = SQLAlchemy(app)

# 创建关系表  多对多关系必须创建单独的表来记录关联数据
t_stu_cur = db.Table("table_stu_cur",
         db.Column("stu_id"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值