[1.5.X] Fixed #19154 - Noted commit_manually requires commit/rollback for reads

Thanks als for the report.

Backport of 620e0bba49 from master
This commit is contained in:
Tim Graham 2012-11-06 08:53:10 -05:00
parent e645c89bbb
commit 84e33545c9
1 changed files with 6 additions and 2 deletions

View File

@ -161,8 +161,12 @@ managers, too.
transactions. It tells Django you'll be managing the transaction on your
own.
If your view changes data and doesn't ``commit()`` or ``rollback()``,
Django will raise a ``TransactionManagementError`` exception.
Whether you are writing or simply reading from the database, you must
``commit()`` or ``rollback()`` explicitly or Django will raise a
:exc:`TransactionManagementError` exception. This is required when reading
from the database because ``SELECT`` statements may call functions which
modify tables, and thus it is impossible to know if any data has been
modified.
Manual transaction management looks like this::