python - 模块未定义属性/类

标签 python database django django-settings

我想在 Django 上编写一个多表应用程序,因此我创建了两个数据库,其中一个默认使用,另一个 - “map” 由特定应用程序使用 - “ map ”

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.pysyncdb 时,它显示:

django.core.exceptions.ImproperlyConfigured: Module "map" does not define a "MapRouter" attribute/class

这是怎么回事?

最佳答案

您需要在设置中输入路由器的完整路径。

DATABASE_ROUTERS = ['map.models.MapRouter']

关于python - 模块未定义属性/类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25937712/

相关文章:

python - 我正在寻找一个函数,它有助于在 python 中的特定特殊字符之后从文件中读取字符串

Django+webpack+reactjs : how to generate multiple pages by separate reactjs code for each url

database - 如何计算每个 MariaDB 表行中的实际数据大小?

python - 如何在 Django 模板中获取字典键和值?

python - 在 django 中将字段更改为外键后出现未知列错误

python - 仅运行 python 脚本的 Eclipse 插件

python - Pandas 根据列值组合数据框

python - 4D LSTM : Trouble with I/O Shapes

MySQL 结果到文件

php - MYSQL限制特定值在字段中的次数