我正在使用两个数据库,一个 Mysql 另一个是 PostgreSql。
Mysql 定义为 'default',PostgreSql 定义为 'location_db'
我有 5 个应用程序,比如说“a、b、c、d、位置”应用程序,
除位置应用程序外,所有应用程序都应在“默认”数据库上运行所有内容,
我只是做 ' python manage.py runserver ' 然后一切正常,甚至站点也可以正常工作,但是当我在管理页面然后单击 'location' 管理模型时,它运行错误* 关系“location_locationmodel”不存在;第 1 行:SELECT COUNT(*) AS "__count" FROM "location_locationmodel" *另一方面,如果我单击“abcd”管理模型,它就可以正常工作。
1)这是 router.py(我只是从 doc.django 站点获取路由器代码,也许这些代码不适合我,因为我只是猜测我的路由器配置不正确?也许?)
class LocationRouter(object):
"""
A router to control all database operations on models in the
auth application.
"""
def db_for_read(self, model, **hints):
"""
Attempts to read auth models go to location_db.
"""
if model._meta.app_label == 'location':
return 'location_db'
return None
def db_for_write(self, model, **hints): …Run Code Online (Sandbox Code Playgroud)