[1.5.x] Fixed #2304 -- Documented TRANSACTIONS_MANAGED.

Backport of a001f3c.
This commit is contained in:
Aymeric Augustin 2012-12-14 21:13:36 +01:00
parent c20c3a20a3
commit 44e56238d7
3 changed files with 13 additions and 3 deletions

View File

@ -181,8 +181,6 @@ class BaseDatabaseWrapper(object):
"""
if self.transaction_state:
return self.transaction_state[-1]
# Note that this setting isn't documented, and is only used here, and
# in enter_transaction_management()
return settings.TRANSACTIONS_MANAGED
def managed(self, flag=True):

View File

@ -2069,6 +2069,16 @@ to ensure your processes are running in the correct environment.
.. _pytz: http://pytz.sourceforge.net/
.. setting:: TRANSACTIONS_MANAGED
TRANSACTIONS_MANAGED
--------------------
Default: ``False``
Set this to ``True`` if you want to :ref:`disable Django's transaction
management <deactivate-transaction-management>` and implement your own.
.. setting:: USE_ETAGS
USE_ETAGS

View File

@ -208,11 +208,13 @@ This applies to all database operations, not just write operations. Even
if your transaction only reads from the database, the transaction must
be committed or rolled back before you complete a request.
.. _deactivate-transaction-management:
How to globally deactivate transaction management
=================================================
Control freaks can totally disable all transaction management by setting
``DISABLE_TRANSACTION_MANAGEMENT`` to ``True`` in the Django settings file.
:setting:`TRANSACTIONS_MANAGED` to ``True`` in the Django settings file.
If you do this, Django won't provide any automatic transaction management
whatsoever. Middleware will no longer implicitly commit transactions, and