Django 多数据库

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"
相关推荐
哈里谢顿1 小时前
Django REST Framework 中序列化器的Meta详解
django
博观而约取19 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
小王子102421 小时前
Django+DRF 实战:从异常捕获到自定义错误信息
后端·django·web开发
ઈ一笑ഒ1 天前
Django
django
互联网搬砖老肖1 天前
Python 中如何使用 Conda 管理版本和创建 Django 项目
python·django·conda
沛沛老爹11 天前
Python Django全功能框架开发秘籍
python·django·orm·web开发·模板引擎·项目部署·表单处理
Q_Q196328847511 天前
python基于微信小程序的广西文化传承系统
开发语言·spring boot·python·微信小程序·django·flask
程序员爱钓鱼11 天前
Go Web开发框架实践:模板渲染与静态资源服务
后端·django·go
Q_Q196328847512 天前
python高校教务管理系统
开发语言·spring boot·python·django·flask·node.js·php