锁定行,以便其他人可以使用Postgres和SQLAlchemy ORM修改它们

时间:2016-09-07 17:41:14

标签: python postgresql orm sqlalchemy flask-sqlalchemy

我想对Postgres数据库进行查询,然后以某种方式锁定返回的行,以便其他SQLAlchemy线程/进程无法修改这些行。在查询的同一会话/事务中,我想更新从查询中收到的行,然后提交更改。谁知道该怎么办?

我尝试使用with_for_update(nowait=True)函数实现查询,但这会抛出OperationalError。我可以再次捕获此异常并简单地查询,但是如果可能的话,我想将其卸载到数据库中。

我正在使用:

  • Postgres 9.4.1
  • SQLAlchemy 1.0.11(ORM)
  • 合剂的RESTful
  • FlaskSQLAlchemy

如果FlaskSQLAlchemy无法使用,我准备直接使用SQLAlchemy。

0 个答案:

没有答案