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"
相关推荐
FYKJ_20101 小时前
django学习成绩预警系统10905
java·javascript·spring boot·python·spark·django·php
言乐61 天前
Python实现自动拉人脚本示例
开发语言·windows·python·django·pygame
践行见远2 天前
django之配置文件加载
django
【赫兹威客】浩哥2 天前
【无标题】
python·spring·django·pyqt
winfredzhang2 天前
从零构建家庭照片管理系统:Django 模块化单体实战,以及我踩到的 4 个真实坑
python·postgresql·django·sqlite·bootsrap
weixin_BYSJ19872 天前
springboot智慧公共交通系统---附源码51123
java·javascript·spring boot·python·django·flask·php
衿心.2 天前
Django TemplateDoesNotExist
数据库·django·sqlite
weixin_BYSJ19873 天前
springboot游戏账号租赁系统---附源码50345
java·spring boot·python·游戏·django·flask·php
SelectDB技术团队4 天前
腾讯音乐内容库 ES 替代:从 Elasticsearch 到 Apache Doris 统一搜索分析引擎实践
elasticsearch·django·apache doris
willhu20085 天前
Windows 开机自动启动 Django 项目
后端·python·django