mirror of
https://github.com/django/django.git
synced 2025-10-26 07:06:08 +00:00
Fixed #17258 -- Moved threading.local from DatabaseWrapper to the django.db.connections dictionary. This allows connections to be explicitly shared between multiple threads and is particularly useful for enabling the sharing of in-memory SQLite connections. Many thanks to Anssi Kääriäinen for the excellent suggestions and feedback, and to Alex Gaynor for the reviews. Refs #2879.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17205 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -22,9 +22,21 @@ router = ConnectionRouter(settings.DATABASE_ROUTERS)
|
||||
# we manually create the dictionary from the settings, passing only the
|
||||
# settings that the database backends care about. Note that TIME_ZONE is used
|
||||
# by the PostgreSQL backends.
|
||||
# we load all these up for backwards compatibility, you should use
|
||||
# We load all these up for backwards compatibility, you should use
|
||||
# connections['default'] instead.
|
||||
connection = connections[DEFAULT_DB_ALIAS]
|
||||
class DefaultConnectionProxy(object):
|
||||
"""
|
||||
Proxy for accessing the default DatabaseWrapper object's attributes. If you
|
||||
need to access the DatabaseWrapper object itself, use
|
||||
connections[DEFAULT_DB_ALIAS] instead.
|
||||
"""
|
||||
def __getattr__(self, item):
|
||||
return getattr(connections[DEFAULT_DB_ALIAS], item)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
return setattr(connections[DEFAULT_DB_ALIAS], name, value)
|
||||
|
||||
connection = DefaultConnectionProxy()
|
||||
backend = load_backend(connection.settings_dict['ENGINE'])
|
||||
|
||||
# Register an event that closes the database connection
|
||||
|
||||
Reference in New Issue
Block a user