Sapevo come fare, ma ho dimenticato. A volte, mentre usi la shell Django, commetti un errore e la transazione si interrompe. Dopodiché, qualsiasi ulteriore query verrà eseguita in DatabaseError: la transazione corrente viene interrotta, i comandi ignorati fino alla fine del blocco della transazione. Tuttavia, penso che ci sia un modo per eseguire il rollback della transazione quando ciò avviene manualmente, quindi non è necessario riavviare la sessione. Qualcuno può dirmi cos'è?Come si esegue il rollback durante la sessione della shell Django dopo aver causato DatabaseError?
Questa segnalazione di bug (https://code.djangoproject.com/ticket/10813) fa riferimento alla tecnica ma non la spiega. Eseguendo i risultati di django.db.transaction.rollback in "TransactionManagementError: questo codice non è in gestione delle transazioni".
Grazie. Ho anche iniziato a mettere la mia sessione sotto gestione delle transazioni sin dall'inizio. Rende comunque le cose un po 'più sicure. –