1
0
mirror of https://github.com/django/django.git synced 2024-12-27 03:25:58 +00:00

Fixed #12718 -- Tighten up the error handling when loading database routers. Thanks to Jeff Balogh for the report and patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12336 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-01-28 05:55:44 +00:00
parent 7856a759d0
commit 0cdd36fac8

View File

@ -95,11 +95,12 @@ class ConnectionRouter(object):
try: try:
module_name, klass_name = r.rsplit('.', 1) module_name, klass_name = r.rsplit('.', 1)
module = import_module(module_name) module = import_module(module_name)
router = getattr(module, klass_name)()
except ImportError, e: except ImportError, e:
raise ImproperlyConfigured('Error importing database router %s: "%s"' % (klass_name, e)) raise ImproperlyConfigured('Error importing database router %s: "%s"' % (klass_name, e))
try:
router = getattr(module, klass_name)()
except AttributeError: except AttributeError:
raise ImproperlyConfigured('Module "%s" does not define a "%s" database router' % (module, klass_name)) raise ImproperlyConfigured('Module "%s" does not define a database router name "%s"' % (module, klass_name))
else: else:
router = r router = r
self.routers.append(router) self.routers.append(router)