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"
相关推荐
程序员羽痕3 小时前
基于 Django + PyTorch 的中文字体识别系统
pytorch·python·django
johnny2332 天前
Django生态:Django-admin、Django-Compressor、Django-grappelli、django-rules
django
weixin_BYSJ19873 天前
django在线图书销售平台---附源码16192
java·javascript·spring boot·python·django·flask·php
kobe_OKOK_3 天前
django外键字段会自动在数据库字段后面加上_id
数据库·django·sqlite
梅雅达编程笔记3 天前
零基础学 Python 第14章 | 模块、包与第三方库
开发语言·python·django·numpy·pandas
梅雅达编程笔记4 天前
零基础学 Python 第15章 | 类与对象:面向对象编程入门
开发语言·python·django·numpy·pandas
2401_868534785 天前
OSPF经典案例分析
python·django
不瘦80斤不改名5 天前
全家桶、乐高积木与类型引擎:重新认识 Django、Flask 与 FastAPI
django·flask·fastapi
hanxiuchao9 天前
告别客户端臃肿!网页端 M3U8 播放调试方案,适配全办公场景
运维·python·django·m3u8·m3u8播放
程序员羽痕9 天前
基于深度学习的眼疾识别系统
人工智能·pytorch·深度学习·分类·django