小编Kur*_*Rao的帖子

Pony ORM报告记录"在当前交易之外更新",而没有其他交易

代码非常简单,如下所示:

from pony.orm import Required, Set, Optional, PrimaryKey
from pony.orm import Database, db_session
import time


db = Database('mysql', host="localhost", port=3306, user="root",
                      passwd="123456", db="learn_pony")


class TryUpdate(db.Entity):
    _table_ = "try_update_record"
    t = Required(int, default=0)

db.generate_mapping(create_tables=True)


@db_session
def insert_record():
    new_t = TryUpdate()


@db_session
def update():
    t = TryUpdate.get(id=1)
    print t.t
    t.t = 0
    print t.t


if __name__ == "__main__":
    insert_record()
    update()
Run Code Online (Sandbox Code Playgroud)

pony.orm报告异常:pony.orm.core.CommitException:对象TryUpdate [1]在当前事务之外更新.但是根本没有其他交易在运行

正如我的实验所示,只要tt更改为与原始值不同的值,pony就可以正常工作,但是当tt设置为等于原始值的值时,它总是会报告异常.

我不确定这是否是一个设计决定.在分配之前,我是否必须检查输入值是否每次都在变化?或者我有什么办法可以避免这个烦人的异常?

我的小马版:0.4.8

Thansk很多~~~

python orm transactions ponyorm

3
推荐指数
1
解决办法
760
查看次数

标签 统计

orm ×1

ponyorm ×1

python ×1

transactions ×1