From 0cdd36fac857d19105e3872364147a5cebd45513 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 28 Jan 2010 05:55:44 +0000 Subject: [PATCH] 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 --- django/db/utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/django/db/utils.py b/django/db/utils.py index 83e2452546..fe5d7944aa 100644 --- a/django/db/utils.py +++ b/django/db/utils.py @@ -95,11 +95,12 @@ class ConnectionRouter(object): try: module_name, klass_name = r.rsplit('.', 1) module = import_module(module_name) - router = getattr(module, klass_name)() except ImportError, e: raise ImproperlyConfigured('Error importing database router %s: "%s"' % (klass_name, e)) + try: + router = getattr(module, klass_name)() 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: router = r self.routers.append(router)