【发布时间】:2015-10-10 09:09:28
【问题描述】:
我想问一下如何将模型设置为特定的数据库。
我还是 django 的新手,在 Django 网站上阅读了有关 Database Routing 的信息,我有 2 个模型,userMod 和 adminMod。userMod 应该转到数据库 userDB .adminMod 应该转到数据库 adminDB。
但是当我迁移它时,两个表都存在于两个数据库中。
我已经在 meta 中包含了app_label,但它仍然无法正常工作。
我正在使用 django 1.8
编辑: 我只是在 userDB 上尝试了一段时间,最终将它与 adminDB 一起使用。 这是我的代码:
路由器.py
class router(object):
def db_for_read(self, model, **hints):
if model._meta.app_label == 'userDB':
return 'userDB'
return None
def db_for_write(self, model, **hints):
if model._meta.app_label == 'userDB':
return 'userDB'
return None
def allow_relation(self, obj1, obj2, **hints):
if obj1._meta.app_label == 'userDB' or\
obj2._meta.app_label == 'userDB':
return True
return None
def allow_migrate(self, db, app_label, model=None, **hints):
if app_label == 'userDB':
return db == 'userDB'
return None
【问题讨论】:
-
您好,请插入您的代码以获得更清晰的信息。阅读本文以改善您的问题,以便我们更好地帮助您。 stackoverflow.com/help/mcve
-
你能粘贴你的数据库路由器的代码吗?
标签: python django django-models django-orm