Hello all; I'm just learning Django and i'm trying to get proxy db managers working, but i can't manage to get it working. I've read the docs and tried to search on google, but it seems unuseful.
Can anybody help me? I'm attaching the error and my code. setting.py: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'intranet.db', }, 'viejuna': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'gestio_sl_utf8', 'USER': 'webadmin', 'PASSWORD': '', 'HOST': '192.168.1.4', 'PORT': '', } } DATABASE_ROUTERS = ['intranet.vieja.models.ProxyDB',] vieja/models.py: from django.db import models class old_Dominis(models.Model): id = models.IntegerField(primary_key=True) nom = models.CharField(max_length=70) extensio = models.CharField(max_length=20) id_account = models.IntegerField() years = models.SmallIntegerField() creat = models.DateField() expira = models.DateField() redirec = models.BooleanField() c1 = models.BooleanField() c2 = models.BooleanField() dns_type = models.SmallIntegerField() lock = models.BooleanField() pl = models.BooleanField() titular = models.TextField() contacte_admin = models.CharField(max_length=150) id_c_f = models.IntegerField() contacte_fac = models.TextField() id_grup = models.IntegerField() grup = models.CharField(max_length=200) dns1 = models.CharField(max_length=150) dns2 = models.CharField(max_length=150) estat = models.CharField(max_length=50) class Meta: db_table = u'dominis_view2' managed = False class ProxyDB(object): def db_for_read(self, model, **hints): if model._meta.app_label == 'vieja': return 'viejuna' return 'default' def db_for_write(self, model, **hints): if model._meta.app_label == 'vieja': return 'viejuna' return 'default' def allow_relation(self, obj1, obj2, **hints): if obj1._meta.app_label == 'vieja' and obj2._meta.app_label == 'vieja': return True elif obj1._state.db == 'default' and obj2._state.db == 'default': return True return None def allow_syncdb(self, db, model): if db == 'viejuna': return model._meta.app_label == 'vieja' elif model._meta.app_label == 'vieja': return False return True The Error: $> dj validate Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/lib/python2.6/site-packages/django/core/management/ __init__.py", line 438, in execute_manager utility.execute() File "/usr/lib/python2.6/site-packages/django/core/management/ __init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python2.6/site-packages/django/core/management/ base.py", line 191, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/lib/python2.6/site-packages/django/core/management/ base.py", line 209, in execute translation.activate('en-us') File "/usr/lib/python2.6/site-packages/django/utils/translation/ __init__.py", line 66, in activate return real_activate(language) File "/usr/lib/python2.6/site-packages/django/utils/functional.py", line 55, in _curried return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) File "/usr/lib/python2.6/site-packages/django/utils/translation/ __init__.py", line 36, in delayed_loader return getattr(trans, real_name)(*args, **kwargs) File "/usr/lib/python2.6/site-packages/django/utils/translation/ trans_real.py", line 193, in activate _active[currentThread()] = translation(language) File "/usr/lib/python2.6/site-packages/django/utils/translation/ trans_real.py", line 176, in translation default_translation = _fetch(settings.LANGUAGE_CODE) File "/usr/lib/python2.6/site-packages/django/utils/translation/ trans_real.py", line 159, in _fetch app = import_module(appname) File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/usr/lib/python2.6/site-packages/django/contrib/admin/ __init__.py", line 1, in <module> from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME File "/usr/lib/python2.6/site-packages/django/contrib/admin/ helpers.py", line 1, in <module> from django import forms File "/usr/lib/python2.6/site-packages/django/forms/__init__.py", line 17, in <module> from models import * File "/usr/lib/python2.6/site-packages/django/forms/models.py", line 6, in <module> from django.db import connections File "/usr/lib/python2.6/site-packages/django/db/__init__.py", line 64, in <module> router = ConnectionRouter(settings.DATABASE_ROUTERS) File "/usr/lib/python2.6/site-packages/django/db/utils.py", line 112, in __init__ raise ImproperlyConfigured('Error importing database router %s: "%s"' % (klass_name, e)) django.core.exceptions.ImproperlyConfigured: Error importing database router ProxyDB: "cannot import name connection" -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.