我想问一下如何将模型设置到特定的数据库。
我还是 django 新手,阅读了 Database Routing在 Django 网站中,我有 2 个模型,userMod
和 adminMod
。
userMod
应转到数据库 userDB。
adminMod
应转到数据库 adminDB。
但是当我迁移它时,两个表都存在于两个数据库中。
我已经在元上包含了 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
最佳答案
试试这个:
class userMod(models.Model):
name = models.CharField(max_length=120)
class Meta:
db_table='userDB'
关于python - 在 django 中将模型设置为特定数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530149/