1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

magic-removal: Django no longer requires a database. Moved database-handling stuff in django handlers to use dispatching

git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@1807 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty
2005-12-31 00:08:49 +00:00
parent 76bc09a09a
commit 029efcd089
5 changed files with 34 additions and 20 deletions

View File

@@ -1,4 +1,6 @@
from django.conf.settings import DATABASE_ENGINE
from django.core import signals
from django.dispatch import dispatcher
__all__ = ('backend', 'connection', 'DatabaseError')
@@ -23,3 +25,17 @@ get_creation_module = lambda: __import__('django.db.backends.%s.creation' % DATA
connection = backend.DatabaseWrapper()
DatabaseError = backend.DatabaseError
# Register an event that closes the database connection
# when a Django request is finished.
dispatcher.connect(lambda: connection.close(), signal=signals.request_finished)
# Register an event that resets connection.queries
# when a Django request is started.
def reset_queries():
connection.queries = []
dispatcher.connect(reset_queries, signal=signals.request_started)
# Register an event that rolls back the connection
# when a Django request has an exception.
dispatcher.connect(lambda: connection.rollback(), signal=signals.got_request_exception)