Eog*_*anM 5 postgresql locking sqlalchemy
我正在使用类似于此问题的答案的 get_or_create 模式:
SQLAlchemy 是否有相当于 Django 的 get_or_create 的功能?
但是我在另一个线程在第一个线程的“选择”和“插入”之间创建实例(具有相同的 pk)时遇到问题。
get_or_create 函数是否应该锁定两个查询的表?使用 SqlAlchemy 实现锁定的最佳方法是什么?
我正在使用 postgresql:http ://www.postgresql.org/docs/current/static/sql-lock.html
我能看到的唯一 sqlalchemy 锁定功能是“ for update ”,这似乎不是正确的锁定类型?
看来我误解了你对我在另一个问题中的回答的回答。
您在这里寻找的可能不是直接锁定,而是事务。 http://www.sqlalchemy.org/docs/core/connections.html#using-transactions
但是...您是否试图阻止执行相同的插入两次?在这种情况下,你需要在 python 中的某个地方加一个锁(或者捕获重复的键错误)。这实际上是唯一万无一失的方法。如果出现重复键错误,请尝试插入并获取它。
归档时间: |
|
查看次数: |
4448 次 |
最近记录: |