Python 更新值检查前一个-SQLObject

Python 更新值检查前一个-SQLObject,python,sqlobject,Python,Sqlobject,在已经部署的应用程序中,使用,我只需要在前一个值与某个值匹配时更新一个值 等效的sql可以是: UPDATE jobs SET status='150' WHERE id=1234 AND status='100' 我之所以需要它,是因为我们在不同的服务器上有许多守护进程实例(彼此不了解),它们可能希望接受作业并更新数据库以将作业标记为“已接受” 我想防止两个节点设置相同的值进行“双重更新” 如果我能得到受影响行的数量,那就太好了。结果为0时,允许说“作业已在获取和更新之间执行” 执行更新的代

在已经部署的应用程序中,使用,我只需要在前一个值与某个值匹配时更新一个值

等效的sql可以是:

UPDATE jobs SET status='150' WHERE id=1234 AND status='100'
我之所以需要它,是因为我们在不同的服务器上有许多守护进程实例(彼此不了解),它们可能希望接受作业并更新数据库以将作业标记为“已接受”

我想防止两个节点设置相同的值进行“双重更新”

如果我能得到受影响行的数量,那就太好了。结果为0时,允许说“作业已在获取和更新之间执行”

执行更新的代码的实际部分如下所示:

def __setattr__(self, name, value):
    """Override setattr to log build status changes"""
    [...]
    sqlobject.SQLObject.__setattr__(self, name, value)

SQLObject有几个API层。如果使用高级API(SQLObject Inherited类),则无法执行条件更新<代码>where-子句在SQLBuilder中可用