diff --git a/django/db/__init__.py b/django/db/__init__.py index 8e50dd4206..18a20fbef6 100644 --- a/django/db/__init__.py +++ b/django/db/__init__.py @@ -38,7 +38,7 @@ connections = ConnectionHandler(settings.DATABASES) # we load all these up for backwards compatibility, you should use # connections['default'] instead. connection = connections['default'] -backend = load_backend(settings.DATABASE_ENGINE) +backend = load_backend(connection.settings_dict['DATABASE_ENGINE']) DatabaseError = backend.DatabaseError IntegrityError = backend.IntegrityError diff --git a/tests/regressiontests/admin_scripts/tests.py b/tests/regressiontests/admin_scripts/tests.py index e67126e9a7..8678ee0c64 100644 --- a/tests/regressiontests/admin_scripts/tests.py +++ b/tests/regressiontests/admin_scripts/tests.py @@ -23,17 +23,15 @@ class AdminScriptTestCase(unittest.TestCase): settings_file = open(os.path.join(test_dir, filename), 'w') settings_file.write('# Settings file automatically generated by regressiontests.admin_scripts test case\n') exports = [ - 'DATABASE_ENGINE', - 'DATABASE_NAME', - 'DATABASE_USER', - 'DATABASE_PASSWORD', - 'DATABASE_HOST', - 'DATABASE_PORT', + 'DATABASES', 'ROOT_URLCONF' ] for s in exports: - if hasattr(settings,s): - settings_file.write("%s = '%s'\n" % (s, str(getattr(settings,s)))) + if hasattr(settings, s): + o = getattr(settings, s) + if not isinstance(o, dict): + o = "'%s'" % o + settings_file.write("%s = %s\n" % (s, o)) if apps is None: apps = ['django.contrib.auth', 'django.contrib.contenttypes', 'admin_scripts'] @@ -523,7 +521,7 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase): A series of tests for django-admin.py when the settings file is in a directory. (see #9751). """ - + def setUp(self): self.write_settings('settings', is_dir=True)