Solía saber cómo hacer esto, pero lo olvidé. A veces, al usar el intérprete de comandos de Django, comete un error y provoca el aborto de la transacción. Después de eso, cualquier otra consulta que realice dará como resultado el error DatabaseError: la transacción actual se cancela, los comandos se ignoran hasta el final del bloqueo de la transacción. Sin embargo, creo que hay una forma de deshacer la transacción cuando esto sucede manualmente, por lo que no tiene que reiniciar su sesión. ¿Puede alguien decirme qué es esto?¿Cómo se retrotrae durante la sesión de shell de Django después de causar DatabaseError?
Este informe de error (https://code.djangoproject.com/ticket/10813) hace referencia a la técnica pero no la explica. La ejecución de django.db.transaction.rollback da como resultado "TransactionManagementError: este código no se encuentra en la gestión de transacciones".
Gracias. También me he tomado la tarea de poner mi sesión bajo gestión de transacciones desde el principio. Hace las cosas un poco más seguras de todos modos. –