django commit_on_success用法

时间:2015-06-02 06:32:29

标签: python django postgresql

我有一系列方法可用于另一个方法调用,即django中管理/命令的句柄。如何确保完成序列中的所有方法。所有这些方法都不一定返回值。我可以使用commit_on_success作为句柄吗?还有其他更好的方法吗?基本上,一些方法更新postgresql表中的一些重要值,在此基础上为下一个方法调用做出某些决定。请revert。我在linux上使用django 1.6.5

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题而我正在使用transaction.commit_manually。 我的代码看起来像这样:

# Some actions before
with transaction.commit_manually():
    try:
        # Some actions that will be saved in DB
    except:
        # Log error message
        transaction.rollback() # Rollback if there was an error during the execution
        return error_response # Stop execution of the method and return the response
    transaction.commit() # If return was not initiated before, it means that there were no errors, so we can do commit