django 多数据库联用

本文详细介绍了在Django项目中如何配置和使用多个数据库,包括修改settings配置,设置数据库路由规则,配置APP对应的数据库,创建数据库路由规则,创建数据表,解决生成数据表过程中的错误,并提供了数据导出和导入的简要说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在django项目中, 一个工程中存在多个APP应用很常见. 有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。

1. 修改项目的 settings 配置 
在 settings.py 中配置需要连接的多个数据库连接串

# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'db1': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db1',
        'USER': 'root',
        'PASSWORD': 'your_mysql_password',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    },
    'db2': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db2',
        'USER': 'root',
        'PASSWORD': 'your_mysql_password',
        'HOST': 'localhost',
        # 默认'PORT': '3306'
    }
}

your_mysql_password: 你的mysq密码;

假设现在我们用到3个数据库,一个default默认库,一个 db1 和 db2。

2. 设置数据库的路由规则方法 
在 settings.py 中配置 DATABASE_ROUTERS

# use multi-database in django
# add by ZhengShilin
DATABASE_ROUTERS = ['your_project_name.database_router.DatabaseAppsRouter']

your_project_name: 建立的django项目名称(project_name) ;
database_router: 定义路由规则database_router.py 文件名称, 这个文件名可以自己定义 ;
DatabaseAppsRouter: 路由规则的类名称,这个类是在d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值