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"
相关推荐
我的ID配享太庙呀6 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
小王子102411 小时前
Django缓存机制详解:从配置到实战应用
redis·缓存·django·rbac
东林牧之1 天前
Django+celery异步:拿来即用,可移植性高
后端·python·django
小王子10241 天前
Django实时通信实战:WebSocket与ASGI全解析(下)
python·websocket·django
叫我:松哥2 天前
基于网络爬虫的在线医疗咨询数据爬取与医疗服务分析系统,技术采用django+朴素贝叶斯算法+boostrap+echart可视化
人工智能·爬虫·python·算法·django·数据可视化·朴素贝叶斯
工业甲酰苯胺2 天前
Django集成Swagger全指南:两种实现方案详解
python·django·sqlite
我的ID配享太庙呀2 天前
从零开始:在 PyCharm 中搭建 Django 商城的用户注册与登录功能(轮播图+商品页-小白入门版)
数据库·python·django·sqlite·web·教育电商