我想在Django上编写一个多表应用程序,所以我创建了两个数据库,一个默认使用,另一个-“map”供特定应用程序使用-“map”。在
地图/模型.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
设置.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" does not define a "MapRouter" attribute/class
怎么了?在
您需要在设置中输入路由器的完整路径。在
相关问题 更多 >
编程相关推荐