J'ai une fonction de visualisation :
@transaction.commit_manually
def xyz(request):
if ABC:
success = something()
if success:
status = "success"
transaction.commit()
else:
status = "dataerrors"
transaction.rollback()
else:
status = "uploadproblem"
transaction.rollback()
return render(request, "template.html", {
'status': status,
})
Je pense que chaque chemin de code termine la transaction d'une manière ou d'une autre. Mais Django semble se plaindre qu'il ne le fait pas. Une idée ?
Django Version: 1.3
Exception Type: TransactionManagementError
Exception Value: Transaction managed block ended with pending COMMIT/ROLLBACK
EDIT : Aucune autre exception n'est levée pour modifier le chemin du code.
0 votes
Utilisez-vous postgres ? Ces informations peuvent être pertinentes : aquí y aquí
1 votes
Oui, ABC est défini comme désolé. Nettoyage des sources trop enthousiaste !