У меня есть функция просмотра:
@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,
})
Я считаю, что каждый путь кода заканчивает транзакцию так или иначе. Но Django, похоже, жалуется, что это не так. Любые идеи?
Django Version: 1.3
Exception Type: TransactionManagementError
Exception Value: Transaction managed block ended with pending COMMIT/ROLLBACK
РЕДАКТИРОВАТЬ: Никаких других исключений не требуется для изменения пути кода.