flask-sqlalchemy中出现的 KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS‘错误

Flask生产级API实战:从零搭建可交付REST服务 REST API是现代Web服务的基础通信范式,其核心在于严格遵循HTTP协议规范,实现请求方法、状态码、资源标识与数据序列化的精准协同。Flask作为轻量级WSGI框架,以高度透明的请求生命周期和模块化扩展机制,成为理解API底层原理的理想入口。它不隐藏数据库事务边界、不自动处理JSON异常、不默认启用CORS——这种‘不作为’恰恰迫使开发者直面HTTP从网卡到业务逻辑的17个关键决策点,如路由参数校验、Content-Type防御式解析、数据库唯一约束与软删除设计、标准化错误响应(400/401/403 阅读详情

转载自https://www.cnblogs.com/String-Lee/p/10061675.html

关于flask-sqlalchemy中出现的 KeyError:SQLALCHEMY_TRACK_MODIFICATIONS错误

image

网上资料都是说因为用了2.2/2.3版本的flask-sqlalchemy的缘故

给出的解决方案都是很扯淡的回退了一下版本,回到2.0.
 
 

经过研究 发现原因很显然不是这样子 而是代码从一开始逻辑就不对

研究我们的代码

app/__init__.py

from flask import Flask

app = Flask(__name__)
app.debug = True


from app.home import home as home_blueprint
from app.admin import admin as admin_blueprint

app.register_blueprint(home_blueprint)
app.register_blueprint(admin_blueprint,url_prefix="/admin")
app/models.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)

# 配置数据库
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:123456@127.0.0.1:3306/blog"
# 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

# 绑定app至SQLAlchemy
db = SQLAlchemy(app)

# 会员模型
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    ...
    
...

if __name__ == "__main__":

    db.create_all()

在app/init.py 和 app/models.py 中 两次分别实例化 Flask 类,生成 app 对象。

而app.config[“SQLALCHEMY_TRACK_MODIFICATIONS”] = False 是在模型文件中设置的。

但是模型中的 app 对象并不是Flask运行时的 那个 app 对象

只是用来初始化数据库时临时用到的 app 对象

所以在访问页面的时候会报错 KeyError:'SQLALCHEMY_TRACK_MODIFICATIONS’

应该修改成这样

app/__init__.py

from flask import Flask

app = Flask(__name__)
app.debug = True


from app.home import home as home_blueprint
from app.admin import admin as admin_blueprint

app.register_blueprint(home_blueprint)
app.register_blueprint(admin_blueprint,url_prefix="/admin")

# 配置数据库
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:123456@127.0.0.1:3306/blog"
# 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

from app.models import db

db.init_app(app)
app/models.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

# 会员模型
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    ...
    
...

if __name__ == "__main__":

    app = Flask(__name__)
    
    # 配置数据库
    app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:123456@127.0.0.1:3306/blog"
    # 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
    app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

    # 绑定app至SQLAlchemy
    db = SQLAlchemy(app)

    db.create_all()

直播数据监控系统:从数据采集到可视化全流程实战 数据采集与分析是现代互联网应用的核心技术,通过API接口和爬虫技术获取原始数据,结合数据库存储和消息队列实现实时处理。在直播监控领域,数据采集技术能够实时追踪主播流水、观看人数等关键指标,为运营决策提供数据支撑。系统采用分层架构设计,包含数据采集、存储、处理和展示四个模块,使用Python Flask框架和MySQL数据库构建可扩展的监控平台。通过自动化数据采集和可视化展示,帮助企业实现主播绩效分析和平台数据对比,提升直播业务的精细化运营能力。 阅读详情

相关推荐

Fluent新手必看:如何正确解读scaled residuals曲线(附常见问题排查)

本文详细解析了Fluent中scaled residuals曲线的解读方法及常见问题排查技巧。针对continuity残差居高不下、湍流模型收敛困难等典型问题,提供了网格质量检查、边界条件验证和求解策略调整的实用解决方案,帮助CFD新手快速掌握计算收敛性的关键判断标准。

weixin_28698059的博客 377

SQLALCHEMY_TRACK_MODIFICATIONS警告解决方法

SQLALCHEMY_TRACK_MODIFICATIONS警告解决方法

爱唯逸 2665

逆变器母线电容选型与均压电阻设计实战指南

本文为逆变器母线电容选型与均压电阻设计提供了实战指南。文章从工程角度出发,详细解析了母线电容耐压值、容值的计算方法,并重点强调了纹波电流热设计的重要性。同时,深入探讨了串联电容均压电阻的设计原则与功率计算,通过5.5kW变频器案例,系统演示了从参数确定到最终选型的完整流程,旨在帮助工程师设计出稳定可靠的逆变器系统。

weixin_29299807的博客 292

Flask之SQLAlchemy

Flask之SQLAlchemy 简介 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。 SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。 SQLAlchemy首次发行于2006年2月,并迅速地在Python社区中最广泛使用的ORM工具之一,不亚于D...

weixin_45439324的博客 1408

ANSYS ACT插件开发实战指南:从IronPython脚本到XML界面设计

本文提供了一份详尽的ANSYS ACT插件开发实战指南,重点讲解如何利用IronPython脚本实现仿真自动化,并通过XML设计用户友好的向导界面。内容涵盖从环境搭建、脚本编写(如自动创建材料)、界面控件绑定到调试打包的全流程,旨在帮助仿真工程师和团队负责人将重复性工作流程标准化,显著提升ANSYS软件的使用效率。

weixin_29310605的博客 452

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9642

SQLALCHEMY_TRACK_MODIFICATIONS警告

E:\FlaskProject\flask-blog-master\venv\lib\site-packages\flask_sqlalchemy_init_.py:835: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default ...

BGONE的博客 4252

07. 基础实战篇 - STP的基本配置

STP(生成数协议)是一个用于在局域网中消除环路的协议,他的标准是IEEE802.1d。STP通过强制使部分冗余链路处于阻塞状态,其它链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构。可实现消除环路,当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复网络连通性。

weixin_39868387的博客 7225

KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'出错

在使用sqlalchemy的时候,出现KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'的错误 说来奇怪,同样的代码如果用脚本启动,就不会用这个问题,用Resful调用的时候就会报上述的错误。   解决方法: 运行pip freeze |grep Flask-SQLAlchemy 看看是不是: Flask-SQLAlchemy>=2.2 如果是...

hotpotbo的博客 1687

Python爬虫实战:5分钟搞定东方财富A股数据抓取(附完整代码)

本文提供了一套基于Python的A股数据自动化采集与分析系统构建方案。文章详细解析了如何通过稳健的爬虫框架从东方财富等公开数据源高效抓取A股数据,并设计数据库进行自动化存储与管理,特别适合量化研究和数据分析场景。

weixin_29062963的博客 4429

智能 Agent 跨模态决策机制实战:多源数据融合与感知驱动行为策略设计

随着智能 Agent 应用从结构化文本处理拓展至图像识别、语音交互、传感器响应等多模态环境,其决策机制也面临从单模态语言理解向“多源感知驱动行为选择”的系统跃迁。本文聚焦跨模态输入下的 Agent 决策体系,系统性解析多源数据建模、感知融合方式、模态对齐机制、输入权重控制策略与策略引擎适配路径,进一步结合多模态提示构建、模态感知异常检测、模态优先级路由调度等工程问题进行实战拆解。通过企业级智能客服、制造车间控制、智慧医疗助手等典型案例,本文提供面向真实场景的跨模态 Agent 架构与多输入决策融合方案。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1353

flask ORM(对象关系映射): Flask-SQLAlchemy 单表(增删改查)

flask ORM(对象关系映射): Flask-SQLAlchemy 单表(增删改查)

weixin_51113819的博客 602

让 ME51N 在采购信息记录过期时不要带出上一次采购订单的价格

在采购信息记录(PIR)价格条件无效或过期时,到上一次采购订单价格进行提议;你可以通过关闭,并在把PO price设置为不采纳,再辅以把过期的价格来源直接拦截为错误。若仍需 100% 阻断,可用在保存前清空估价价格作为技术兜底。标准行为与配置证据见文内引用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 658

KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS’ 的错误问题

KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS’ flask-sqltemplate 的错误问题 - 图片链接和图片上传当出现了这个问题并且,在你的 config 文件中配置了 app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = True但还是报错,这个问题我解决了一下午,从各种地方试图找到答案,但最终无果。 我

Mr 丶 Tian的博客 5690

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Flask中使用sqlalchemy报KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS’

复现        在flask脚本里使用了sql相关的功能,如 user = User.query.filter_by(username=form.name.data).first()     结果抛出异常 解决        目前临时性的解决方案是降低sqlalchemy的版本到2.0,具体做法        1、使用pip list查看一下当前的sqlalchemy的版本,

zz962的专栏 951

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Flask报如下错误:SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default ...

在同一个项目中由于flask_sqlalchemy版本不同,有时会报如下错误 错误信息如下: flask_sqlalchemy\__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the f...

子钦加油的博客 1005

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Flask報錯 KeyError 'SQLALCHEMY_TRACK_MODIFICATIONS'.md

KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS' 关于flask-sqlalchemy中出现的KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'错误 网上资料都是说因为用了2.2/2.3版本的flask-sqlalchemy的缘故 给出的解决方案都是很扯淡的回退了一下版本,回到2.0. 经过研究 发现...

Kc12091956的博客 564

KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS’ 的错误问题

KeyError: ‘SQLALCHEMY_TRACK_MODIFICATIONS’ 的错误问题  - 图片链接和图片上传 当出现了这个问题并且,在你的 config 文件中配置了  app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = True 但还是报错,这个问题我解决了一下午,从各种地方试图找到答案,但最终无果。  我看了一下我安装的

Akaks的博客 3414

flask KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'

今天新搭建了一个框架, 总是遇到KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'这个错误. 查了很多,有的说降低版本pip install Flask-SQLAlchemy==2.1 最终再stackoverflow上查到了解决办法,就是犯了一个很蠢的问题,app = Flask(__name__)出现了两次。。。 如果谁遇到这个问题 1. 可以先查看一下是否一...

suzimuyu99的博客 3269

Flask, SQLAlchemy : KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'

使用Flask-SQLAlchemy时碰到无法插入数据和查询数据,并报出KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'的错误 原因:由于粗心两个py文件都新建了一个app=Flask(__main__),所以导致添加数据和查询数据都有问题,model里边的app连接了数据库,而app.py中的app没有设置数据库的连接,所以插入数据和查询数据都会出现异常。 ...

fenghan2015的博客 2397

使用flask-alchemy 过程中报错KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'

在网上找了很多, 大多数说是必须要给SQLALCHEMY_TRACK_MODIFICATIONS 一个默认值,尝试修改alchemy 源码,,但是还是不起作用 最后阅读源码 , self.app = app = db.get_app() track_modifications = app.config['SQLALCHEMY_TRACK_MODIFICATIONS']源码就是这句报...

yuanfangderen 139

Flask中遇到的问题以及解决方法

RuntimeError: No application found. Either work inside a view function or push an application context.ERROR [root] Error: Target database is not up to date.flask KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'.KeyError: 'A secret key is required to use CSRF.'

NiuXL的编程技术网络日志 2992

python3.8版本支持flask-sqlalchey包吗_关于在Python3.6下安装MySQL-python,flask-sqlalchemy模块的问题...

这周末在学习Flask框架的时候,有需要安装MySQL-python模块,一开始用pip安装:1 pip install MySQL-python但是安装的时候报错了:error: command 'C:\\Program Files\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2没办法只能再去百度...

weixin_39576270的博客 226

嵌入式Linux下Paho MQTT交叉编译与ARM平台移植全攻略

MQTT作为一种轻量级消息协议,广泛应用于物联网设备与云端的数据交互。在嵌入式开发中,设备端常基于ARM平台运行,但其编译环境通常位于x86架构的PC上,这就引入了交叉编译的关键概念:在宿主机上生成目标平台可执行代码。Paho MQTT作为成熟的C语言客户端库,封装了连接、订阅、发布等协议细节,但在ARM设备上使用前必须完成源码的交叉编译与依赖处理。本文从工具链选型、OpenSSL依赖库交叉编译,到Paho源码的CMake配置、静态库生成、链接验证及板卡实测,系统梳理了一整套可在嵌入式Linux环境复用的移

weixin_34122604的博客 474

Flask之SQLAlchemy的基本使用

SQLAlchemy是一个流行的Python ORM对象关系映射框架。Flask-SQLAlchemy是一个用于在Flask应用程序中使用SQLAlchemy进行数据库访问的扩展库。

积跬步,至千里。 3229
上一篇: 使用SQLAlchemy新建数据表
下一篇: html问题记录
TardisKey
博客等级 码龄9年 2粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值