postsql sqlalchemy的事务提交问题

遇到一个很有意思的问题  在操作某个对象时,想在插入该对象后 同时写入其它数据。

用sqlalchemy做了一个event.listen for  after insert 后插入数据。

发现不能插入 原因在于Transaction is closed ,认真思考了下,发现sqlalchemy一个很有意思的机制,事务写在了同一个缓冲区内,在没有flush之前,Transaction处于打开状态,flush时一起提交。

那么这个问题可以这样解决了,再开一个event.listen before flush 在事件未提交前写入缓冲区即可。

posted @ 2018-03-01 00:41  小哈是只笨青蛙  阅读(909)  评论(0编辑  收藏  举报