问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在Flask应用中使用Flask-SQLAlchemy管理数据库

发布网友 发布时间:2024-09-26 21:00

我来回答

1个回答

热心网友 时间:2024-10-04 11:22

在 Flask 应用中使用 Flask-SQLAlchemy 管理数据库


配置 Flask-SQLAlchemy



安装 Flask-SQLAlchemy
在应用配置对象中保存数据库 URI,通常在 app.py 中配置
定义模型如 Role 和 User,在 app.py 中进行模型定义
定义关系型数据库中的关系,假设用户与角色关联,一个角色可有多个用户

操作 Flask-SQLAlchemy



启动 shell 进行数据库操作
创建表:使用 db.create_all() 在数据库中创建模型对应的表
插入行:数据暂存于内存,未直接写入数据库
将数据加至 db.session
提交 session 进行数据保存
检查 ID 属性赋值成功
修改行:如将 Admin 修改为 Administrator
删除行:调用 delete() 函数,如删除 mod_session 行
查询行:使用 Query 对象进行基本或精确查询

在视图函数中操作数据库



在视图函数内执行数据库操作
配置 index.html
在 app.py 中让 python shell 每次自动导入数据库实例和模型

使用 Flask-Migrate 迁移数据库



创建迁移仓库
初始化迁移支持
生成迁移脚本,人工检查后应用到数据库中
数据库修改步骤:修改模型,生成迁移脚本,检查并应用
还原前一个脚本对数据的改动及删除前一个迁移脚本

指定 URI 在 Flask-SQLAlchemy 中



直接指定 URI 字符串
使用环境变量指定
使用配置文件指定

常用的列类型和列选项



列选项:主键、唯一性约束、可空性、默认值、索引等
列类型:整数、字符串、日期时间、布尔值、浮点数等

SQLAlchemy 关系选项



backref:在关联模型中自动创建反向引用
lazy:指定关系的加载方式
cascade:指定关系操作的级联行为
primaryjoin:指定主键连接条件
secondary:指定多对多关系中的关联表
uselist:关系是否使用列表存储结果

通过以上步骤,Flask-SQLAlchemy 实现了灵活、高效的数据库管理,适用于 Flask 应用程序。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 32050060500是几位数? 一百一十亿是( )位数. A. 三 B. 九 C. 十一 D. 十二 一个数的最高位是百亿位,它是( )位数. A. 9 B. 10 C. 11 一个数最高位是百亿位,这个数是( )A.九位数B.十位数C.十一位数D.十二位... 戴尔7610可以面容解锁吗? 有什么关于澳门的冷知识? PPT批量插入图片 解锁屏幕怎么设置 ppt如何快速批量导入图片并排版ppt如何快速批量导入图片并排版文字_百... 【求助】铸造模拟软件有哪些 菠萝蜜中的丝可以吃吗 菠萝蜜中的丝可不可以吃 菠萝蜜剥下的丝能吃吗 从凤凰机场到三亚湾路和迎宾路大概多少钱啊 是这样的最近玩电脑有点多看东西有重影眼睛不聚焦,那么问题来了我是... ...东西有重影,光线好的地方很正常,很清楚。这是不是散光,还是远视?_百... 眼睛看东西模糊,感觉有点重影,咪起来就看清楚点.长这么大第一次有这 ... 聊斋志异2分集剧情 韩版花样男子19集里面尹智厚在雨中蹲在地上哭的背景音乐是什么歌喔... ...D630/酷睿二T5500/1G/100G/256M独立显卡 性能如何? 新发布的奔腾赛扬是否为Intel十代酷睿的唯一14nm分支? 【Flask使用】第6篇:Flask数据库和表单验证。0基础md文档集合(附代码... 咸鱼之王鱼灵怎么玩 最新版鱼灵搭配推荐 咸鱼之王赤羽和吕布专属鱼哪个好-赤羽和吕布专属鱼选择推荐 现在OFFICE2003好,还是WPS工具好 现在在哪里可以下载OFFICE2003最新的... 在django中什么是模板引擎? django和jinja2哪个好(2023年最新解答) 哪能下office2003咋?无毒,免费,三合一的?急等……亲们…… ...在电视上某某台上找找到。很简单的方法。比如比如 烟筒灰倒入地里面会影响庄家生长吗? 烟筒灰里能提炼出什么 烟筒灰可以做什么 魅动力智能手表a8我新买的一款请问可以微信同步吗是否支持感谢_百度... 林黛个人简介 江宏基本资料 顾嘉弥从业经历 宁远肉馅豆腐怎样做好吃又美味? 静婷个人经历 宁远肉馅豆腐怎么做才好吃? 三安光电这 2021年中国LED芯片行业龙头企业对比:三安光电VS华灿光电