2024-01-26
踩坑日记
00
请注意,本文编写于 449 天前,最后修改于 291 天前,其中某些信息可能已经过时。

目录

记一次SQLAlchemy中commit引发的问题
引发问题

记一次SQLAlchemy中commit引发的问题

场景再现

图片.png

此处为数据库中密码解密后进行返回

引发问题

此处在for中进行model的值替换(可能被提交到待存区)

话外:正确操作

不可赋值model对象只需赋值items列表 图片.png

话归正题,继续分析

此处注解为日志记录

图片.png 图片.png 图片.png

此处拿到日志表model并进行save操作!! 图片.png

此处没有对commit进行填充self

图片.png

加上之后只做查询返回修改的model值的事务就不会被commit到数据库了

图片.png

拙见

  • db.session.commit()会提交当前session全部待提交事务
  • db.session.commit(self)只会提交当前model的事务

tips:按照【正确指引】操作也可修复正常 示例操作只为钻研学习

本文作者:周得水

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!