https://www.cnblogs.com/zhansen0924/articles/9476171.html
一、在settings里面添加一下内容:
二、在和settings同一级目录下新建一个py文件,文件名可以随意取,我这里为database_router.py,代码如下:
from django.conf import settingsdatabase = settings.DATABASES_APPS_MAPPING # 加载到配置文件里面的对应关系的变量class DatabaseAppRouter(object):def db_for_read(self, model, **hints): # 对数据库进行读操作时要指向的数据库if model._meta.app_label in database:return database[model._meta.app_label]return Nonedef db_for_wirte(self, model, **hints): # 对数据库进行写操作时要指向的数据库if model._meta.app_label in database:return database[model._meta.app_label]return Nonedef db_for_relation(self, obj1, obj2, **hints): # 确保创建的两个模型是指向的同一数据库,然后两个模型可以做关联db_obj1 = database.get(obj1._meta.app_label)db_obj2 = database.get(obj2._meta.app_label)if db_obj1 and db_obj2:if db_obj1 == db_obj2:return Trueelse:return Falsereturn Nonedef allow_syncdb(self, db, model): # 允许同步数据到指定的数据库if db in database.values():return database.get(model._meta.app_label) == dbelif model._meta.app_label in database:return Falsereturn Nonedef allow_migrate(self, db, app_label, model=None, **hints): # 允许将模型转换为sql语句if db in database.values():return database.get(app_label) == dbelif app_label in database:return Falsereturn None
三、在应用里面创建model时,需要指定数据库:

四、使用manage.py生成数据表的时候,需要加参数:
| python manage.py makemigrations app01 #指定要生成数据表的app |
|---|
| python manage.py migrate —database=db01 #生成sql时指定对应的数据库名称(不是应用名) |
|---|
五、在做增、删、改、查的时候,需要制定对应的数据库:

到此,就OK了!
