为什么在一个失败的命令后,使用 peewee ORM 和 posgresql 后,所有后续命令都会出现 peewee.InternalError 错误?

dus*_*arr 2 python postgresql peewee

几个月来,我一直在广泛地使用 peewee 和 postgresql。突然这开始发生。如果我运行任何查询命令并收到错误,则所有后续命令都开始返回peewee.InternalError: current transaction is aborted, commands ignored until end of transaction block.

我认为这种行为是在我将 peewee 从 3.5.2 升级到 3.7.2 时开始的,但我已经降级并且这种行为仍在继续。这绝对不总是发生。

在最简单的情况下,我有一个只有一条记录的数据库表。我尝试创建一个具有相同 ID 的新记录,我得到了IntegrityError预期的结果。如果我然后尝试在该数据库上运行任何其他查询命令,则会得到InternalError上述结果。

这不会发生在 sqlite 数据库中。

我已经重新安装了 peewee 和 psycopg2,但无济于事。

我错过了什么?

Kam*_*ski 5

尝试autorollback=TrueDatabase课堂上设置。您可以在此处关注文档

您的问题在本期中已为人所知

  • 谢谢!我不知道我怎么没有遇到过这个问题。 (2认同)