Loading django/db/__init__.py +1 −2 Original line number Diff line number Diff line import warnings from django.conf import settings from django.core import signals from django.db.utils import (DEFAULT_DB_ALIAS, DataError, OperationalError, IntegrityError, InternalError, Loading @@ -14,7 +13,7 @@ __all__ = ('backend', 'connection', 'connections', 'router', 'DatabaseError', connections = ConnectionHandler() router = ConnectionRouter(settings.DATABASE_ROUTERS) router = ConnectionRouter() # `connection`, `DatabaseError` and `IntegrityError` are convenient aliases # for backend bits. Loading django/db/utils.py +13 −4 Original line number Diff line number Diff line Loading @@ -214,14 +214,23 @@ class ConnectionHandler(object): class ConnectionRouter(object): def __init__(self, routers): self.routers = [] for r in routers: def __init__(self, routers=None): """ If routers is not specified, will default to settings.DATABASE_ROUTERS. """ self._routers = routers @cached_property def routers(self): if self._routers is None: self._routers = settings.DATABASE_ROUTERS for r in self._routers: if isinstance(r, six.string_types): router = import_by_path(r)() else: router = r self.routers.append(router) self._routers.append(router) return self._routers def _router_func(action): def _route_db(self, model, **hints): Loading Loading
django/db/__init__.py +1 −2 Original line number Diff line number Diff line import warnings from django.conf import settings from django.core import signals from django.db.utils import (DEFAULT_DB_ALIAS, DataError, OperationalError, IntegrityError, InternalError, Loading @@ -14,7 +13,7 @@ __all__ = ('backend', 'connection', 'connections', 'router', 'DatabaseError', connections = ConnectionHandler() router = ConnectionRouter(settings.DATABASE_ROUTERS) router = ConnectionRouter() # `connection`, `DatabaseError` and `IntegrityError` are convenient aliases # for backend bits. Loading
django/db/utils.py +13 −4 Original line number Diff line number Diff line Loading @@ -214,14 +214,23 @@ class ConnectionHandler(object): class ConnectionRouter(object): def __init__(self, routers): self.routers = [] for r in routers: def __init__(self, routers=None): """ If routers is not specified, will default to settings.DATABASE_ROUTERS. """ self._routers = routers @cached_property def routers(self): if self._routers is None: self._routers = settings.DATABASE_ROUTERS for r in self._routers: if isinstance(r, six.string_types): router = import_by_path(r)() else: router = r self.routers.append(router) self._routers.append(router) return self._routers def _router_func(action): def _route_db(self, model, **hints): Loading