0

我目前正在使用 django 处理 postgresql,但在尝试时遇到了一些问题:除了:postgre 保留旧查询并阻止所有内容的语句。

为了纠正这个问题,我发现 django.db.connection._rollback() 会将连接重置到过去的某个时间点,让我可以要求进一步的查询。

我的问题是: _rollback() 重置了多远?

假设我有一个表成员:

如果我设法创建了 4 个成员,但第 5 个成员已经在数据库中 - 我将更新它:

 for members in member_list:
    try:
        create_member(member)
    excepte blabla, e:
        rollback()
        update_member()

它会创建 4 个第一批成员吗?

4

1 回答 1

1

回滚应该将数据库的状态设置回事务开始的时间点。起点当然取决于您正在使用哪种事务管理 - 或者 - 何时发生提交。您应该阅读有关事务管理的 django 文档。

于 2012-08-08T11:57:04.227 回答