django 支持项目连接多个数据库
python
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类,简化【后续再进行开发时】
python
class DemoRouter:
def db_for_read(self, model, **hints):
print("model._meta")
return "bak"
def db_for_write(self, model, **hints):
return "default"