[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: if self.transaction_state:
return self.transaction_state[-1] 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 return settings.TRANSACTIONS_MANAGED
def managed(self, flag=True): 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/ .. _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 .. setting:: USE_ETAGS
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 if your transaction only reads from the database, the transaction must
be committed or rolled back before you complete a request. be committed or rolled back before you complete a request.
.. _deactivate-transaction-management:
How to globally deactivate transaction management How to globally deactivate transaction management
================================================= =================================================
Control freaks can totally disable all transaction management by setting 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 If you do this, Django won't provide any automatic transaction management
whatsoever. Middleware will no longer implicitly commit transactions, and whatsoever. Middleware will no longer implicitly commit transactions, and