diff --git a/django/contrib/gis/db/backends/postgis/base.py b/django/contrib/gis/db/backends/postgis/base.py index bdd3bdde8ea..bca36e22a01 100644 --- a/django/contrib/gis/db/backends/postgis/base.py +++ b/django/contrib/gis/db/backends/postgis/base.py @@ -1,3 +1,4 @@ +from django.db.backends.creation import NO_DB_ALIAS from django.db.backends.postgresql_psycopg2.base import DatabaseWrapper as Psycopg2DatabaseWrapper from django.contrib.gis.db.backends.postgis.creation import PostGISCreation from django.contrib.gis.db.backends.postgis.introspection import PostGISIntrospection @@ -7,6 +8,7 @@ from django.contrib.gis.db.backends.postgis.operations import PostGISOperations class DatabaseWrapper(Psycopg2DatabaseWrapper): def __init__(self, *args, **kwargs): super(DatabaseWrapper, self).__init__(*args, **kwargs) - self.creation = PostGISCreation(self) - self.ops = PostGISOperations(self) - self.introspection = PostGISIntrospection(self) + if kwargs.get('alias', '') != NO_DB_ALIAS: + self.creation = PostGISCreation(self) + self.ops = PostGISOperations(self) + self.introspection = PostGISIntrospection(self) diff --git a/django/db/backends/creation.py b/django/db/backends/creation.py index 7c14b6a09ca..3cf5171e489 100644 --- a/django/db/backends/creation.py +++ b/django/db/backends/creation.py @@ -14,6 +14,7 @@ from .utils import truncate_name # The prefix to put on the default database name when creating # the test database. TEST_DATABASE_PREFIX = 'test_' +NO_DB_ALIAS = '__no_db__' class BaseDatabaseCreation(object): @@ -44,7 +45,7 @@ class BaseDatabaseCreation(object): backend = load_backend(settings_dict['ENGINE']) nodb_connection = backend.DatabaseWrapper( settings_dict, - alias='__no_db__', + alias=NO_DB_ALIAS, allow_thread_sharing=False) return nodb_connection