sqlalchemy报错sqlalchemy.orm.exc.DetachedInstanceError

解决方案:

在初始化数据库的代码中,将

python 复制代码
maker = sessionmaker(bind=eng)

修改为

python 复制代码
maker = sessionmaker(bind=eng, expire_on_commit=False)

为什么要添加 expire_on_commit=False 参数?

expire_on_commit 可以用来更改 SQLAlchemy 的对象刷新机制,默认值为 True ,即在 session 调用 commit 之后会主动将同一个sessioncommit之前查询得到的ORM对象的_sa_instance_state.expire属性设置为Flase,再次读取该对象属性时将重载这个对象,方法是重新调用之前的查询语句。

相关推荐
yexuhgu2 分钟前
CSS实现盒子阴影扩散效果_调整box-shadow的模糊半径
jvm·数据库·python
Jetev5 分钟前
CSS如何实现优雅的间距_使用CSS Grid控制盒模型间隙
jvm·数据库·python
qq_414256575 分钟前
HTML函数开发需要独立显卡吗_HTML函数与显卡关系详解【说明】
jvm·数据库·python
CN.LG6 分钟前
Mysql5.1.41+SQLyog的详细安装教程
数据库·mysql·sqlyog
qq_392690668 分钟前
CSS如何利用-disabled伪类禁用交互元素_通过灰度效果提升界面逻辑清晰度
jvm·数据库·python
hunteritself8 分钟前
GPT Image2 + Seedance 2.0:3 小时从剧本到 AI 互动影游,深度实测复盘
前端·数据库·人工智能·深度学习·transformer
u0110225129 分钟前
c++怎么将两个有序的文本文件合并成一个新的有序文件【实战】
jvm·数据库·python
_3762715311 分钟前
CSS如何控制全屏显示的元素样式
jvm·数据库·python
yyuuuzz14 分钟前
aws亚马逊云上部署常见问题梳理
运维·服务器·网络·数据库·云计算·aws
iAm_Ike17 分钟前
c++如何利用std--chrono计算文件操作的微秒级耗时性能分析【详解】
jvm·数据库·python