gpt4 book ai didi

django - 导致 DatabaseError 后,如何在 Django shell session 期间回滚?

转载 作者:行者123 更新时间:2023-12-03 21:20:21 25 4
gpt4 key购买 nike

我曾经知道如何做到这一点,但我忘记了。有时,在使用 Django shell 时,您会犯错误并导致事务中止。之后,您执行的任何进一步查询都将导致 DatabaseError:当前事务被中止,在事务块结束之前忽略命令。但是,我认为有一种方法可以在手动发生这种情况时回滚事务,这样您就不必重新启动 session 。谁能告诉我它是什么?

此错误报告 (https://code.djangoproject.com/ticket/10813) 引用了该技术,但并未对其进行解释。运行 django.db.transaction.rollback 会导致“TransactionManagementError:此代码不在事务管理之下”。

最佳答案

我在使用 Postgres 时总是遇到这种情况,真的很烦人。

你要:

from django.db import transaction
transaction.rollback()

大多数情况下这很好(根据我的经验,忽略 TransactionManagementError 是安全的)。

关于django - 导致 DatabaseError 后,如何在 Django shell session 期间回滚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com