summaryrefslogtreecommitdiff
path: root/django/core/handlers/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/core/handlers/base.py')
-rw-r--r--django/core/handlers/base.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py
index acc74db6f5..555fd98fc6 100644
--- a/django/core/handlers/base.py
+++ b/django/core/handlers/base.py
@@ -66,10 +66,11 @@ class BaseHandler(object):
self._request_middleware = request_middleware
def make_view_atomic(self, view):
- if getattr(view, 'transactions_per_request', True):
- for db in connections.all():
- if db.settings_dict['ATOMIC_REQUESTS']:
- view = transaction.atomic(using=db.alias)(view)
+ non_atomic_requests = getattr(view, '_non_atomic_requests', set())
+ for db in connections.all():
+ if (db.settings_dict['ATOMIC_REQUESTS']
+ and db.alias not in non_atomic_requests):
+ view = transaction.atomic(using=db.alias)(view)
return view
def get_response(self, request):