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,再次读取该对象属性时将重载这个对象,方法是重新调用之前的查询语句。

相关推荐
wang3zc2 分钟前
HTML函数能否用外接显卡坞提升性能_eGPU对HTML函数帮助【汇总】
jvm·数据库·python
難釋懷9 分钟前
Redis网络模型-Redis是单线程的吗?为什么使用单线程
网络·数据库·redis
2301_7815714210 分钟前
mysql如何配置自增ID预留_mysql innodb_autoinc_lock_mode参数
jvm·数据库·python
解决问题no解决代码问题14 分钟前
Quartz 1.6.5
数据库·servlet·oracle
桂花很香,旭很美18 分钟前
Redis-智能体开发中的大杀器
数据库·redis·缓存
dinglu1030DL25 分钟前
CSS如何实现背景颜色的棋盘格分布_利用repeating-gradient
jvm·数据库·python
2303_8212873829 分钟前
Golang reflect反射怎么用_Golang反射教程【通俗】
jvm·数据库·python
Mike117.1 小时前
GBase 8c 里 search_path 没管住,SQL 可能跑到另一个对象上
数据库·sql·postgresql
升鲜宝供应链及收银系统源代码服务1 小时前
升鲜宝云商品库功能设计与数据库表结构详细文档(一)---升鲜宝生鲜配送供应链管理系统源代码服务
数据库·生鲜配送源代码·供应链源代码·生鲜供应链源代码·升鲜宝供应链管理系统源代码·b2b客户订货源代码
2301_783848651 小时前
如何用 IDBKeyRange 范围匹配检索特定区间的本地数据
jvm·数据库·python