我曾經知道如何做到這一點,但我忘了。有時候,在使用Django shell的時候,你犯了一個錯誤,並導致事務中止。之後,您進行的任何進一步查詢都將導致DatabaseError:當前事務中止,直到事務結束時忽略命令。但是,我認爲有一種方法可以在手動發生時回滾事務,因此您不必重新啓動會話。誰能告訴我它是什麼?如何在導致DatabaseError後在Django shell會話期間回滾?
這個錯誤報告(https://code.djangoproject.com/ticket/10813)引用了該技術,但沒有解釋它。運行django.db.transaction.rollback導致「TransactionManagementError:此代碼不在事務管理之下」。
感謝。我也從一開始就把我的會話置於事務管理之下。無論如何使事情變得更安全一些。 –