summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2013-11-09 11:21:53 +0100
committerClaude Paroz <claude@2xlibre.net>2013-11-09 11:28:16 +0100
commit7e714827ead50f77aa82394cc2511ff96ab67fa4 (patch)
treed4e94d24dc7d9f92615236893c5c622bfbeef32e
parent3c10d1e64faeb67b41e7aa501b21252e357a4564 (diff)
Don't initialize PostGIS-specific stuff for non-db connections
Refs #16969.
-rw-r--r--django/contrib/gis/db/backends/postgis/base.py8
-rw-r--r--django/db/backends/creation.py3
2 files changed, 7 insertions, 4 deletions
diff --git a/django/contrib/gis/db/backends/postgis/base.py b/django/contrib/gis/db/backends/postgis/base.py
index bdd3bdde8e..bca36e22a0 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 7c14b6a09c..3cf5171e48 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