django 支持项目连接多个数据库
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'xxx','USER': 'root',"PASSWORD": 'xxxxx','HOST': 'xxxx','PORT': '3306',},'bak': {'ENGINE': 'django.db.backends.mysql','NAME': 'xxx','USER': 'root',"PASSWORD": 'xxxx','HOST': 'xxxxx','PORT': '3306',}
}
1.读写分离
192.3.2.1 数据库名 【写】
数据同步需要mysql自己解决 后端开发不用管
192.3.2.2 数据库名 【读】
- 生成数据库表
python manage.py makemigrations
python manage.py migrate --database==default
- 后续再进行开发时
models.UserInfo.objects.using("default").create(title='xxxx') 【写】
models.UserInfo.objects.using("bak").all() 【读】
编写router类,简化【后续再进行开发时】
class DemoRouter:def db_for_read(self, model, **hints):print("model._meta")return "bak"def db_for_write(self, model, **hints):return "default"
2.分库