模块没有定义属性/类

时间:2014-09-19 15:44:12

标签: python database django django-settings

我想在Django上编写一个多表应用程序,所以我创建了两个数据库,其中一个默认使用,其他 - " map" 按特定方式使用app - " map"

地图/ models.py:

  

from django.db import models class MapRouter(object): def db_for_read(self, model, **hints): if model._meta.app_label == 'map': return 'map' return None def db_for_write(self, model, **hints): if model._meta.app_label == 'map': return 'map' return None def allow_relation(self, obj1, obj2, **hints): if obj1._meta.app_label == 'map' or \ obj2._meta.app_label == 'map': return True return None def allow_migrate(self, db, model): if db == 'map': return model._meta.app_label == 'map' elif model._meta.app_label == 'map': return False return None

settings.py:

  

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'eventmap', 'USER': 'eventmap', 'PASSWORD': 'eventmap', 'HOST': 'localhost', 'PORT': '', }, 'map': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'map', 'USER': 'eventmap', 'PASSWORD': 'eventmap', 'HOST': 'localhost', 'PORT': '', } } DATABASE_ROUTERS = ['map.MapRouter']

问题是,当我运行 python manage.py syncdb 时,它说:

  

django.core.exceptions.ImproperlyConfigured:Module" map"没有定义一个" MapRouter"属性/类

它有什么问题?

1 个答案:

答案 0 :(得分:3)

您需要在设置中填写路由器的完整路径。

DATABASE_ROUTERS = ['map.models.MapRouter']