﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
23353	TransactionManagmentError isn't helpful for tracking down cause	Malcolm Box	David Wobrock	"The error: ""TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block."" thrown from django/db/backends/__init__.py"", line 372, in validate_no_broken_transaction doesn't provide enough information to help track down the problem.

The exception is thrown if self.needs_rollback is True, but the underlying reason that self.needs_rollback has been set True has been lost, since it could have happened a long time previously.

Transactions should keep track of why needs_rollback has been set, and use that to provide a more helpful error.

Background: I'm seeing this error being thrown when a task is run on a Celery queue, but not when run manually. Since it's via Celery, dropping into the debugger is impossible, and thus I'm back to trying to dump useful debug info.
"	Bug	closed	Database layer (models, ORM)	dev	Normal	fixed		David Wobrock	Ready for checkin	1	0	0	0	0	0
