2015-07-21 34 views
2

我想问如何将模型设置为特定数据库。 我还是Django的新手,在Django网站上阅读Database Routing,我有2个模型,userModadminMod
userMod应该去数据库userDB
adminMod应该去数据库adminDB
但是当我迁移它时,两个表都存在于两个数据库中。 我已经在meta上包含了app_label,但它仍然不起作用。 我使用Django 1.8将模型设置为django中的特定数据库


编辑: 我只是想它userDB的一段时间,最终将与adminDB使用它。 这是我的代码:

routers.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 
+0

嗨,请插入您的代码更清晰。阅读此内容以改善您的问题,以便我们能够更好地帮助您。 http://stackoverflow.com/help/mcve –

+0

你可以粘贴你的数据库路由器的代码? – kmmbvnr

回答

1

试试这个:

class userMod(models.Model): 
    name = models.CharField(max_length=120) 

    class Meta: 
     db_table='userDB' 
+0

嗨@Geo Jacob。谢谢你的建议,但不幸的是,这并没有奏效。这两个表仍然存在'userDB' – predator

+0

我没有试过这个,但这可能对你有所帮助。 http://stackoverflow.com/questions/18547468/multiple-databases-and-multiple-models-in-django –

相关问题