Django项目 | 配置多数据库并使用admin进行管理

本文记录了在Django项目中配置多个MySQL数据库并利用admin进行数据管理的解决方案。通过设置settings.py的DATABASES,创建database_router.py文件实现不同应用连接不同数据库。在admin.py中指定数据库,确保在admin界面正确操作对应数据库。

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

在进行django项目开发的时候,遇到了需要连接两个MySQL数据库的问题。同时使用django自带的admin进行后台数据管理。把解决方案记录在这里~

首先我找到的解决方案是针对django项目中有多个app,app之间使用不同数据库的需求。具体配置如下:

将settings.py中的DATABASES配置成:

DATABASES = {
 'default': {
 },
 'db_a': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'dbname_a',
 'USER': 'user_name',
 'PASSWORD': 'password',
 "HOST": "localhost",
 "PORT": '3306',
 },
 'db_b': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'dbname_b',
 'USER': 'user_name',
 'PASSWORD': 'password',
 "HOST": "localhost",
 "PORT": '3306',
 },
}

其中default可以为空,但是不能删除,db_a, db_b是需要配置的数据库连接信息。

在settings.py中增加一段用于配置不同app对应各自数据库的代码:

DATABASE_ROUTERS = ['project_name.database_router.DatabaseAppsRouter']
DATABASE_APPS_MAPPING = {
 'app1': 'db_a',
 'app2': 'db_b',
} 

这里的代码和下面的database_router.py 不添加也没有关系。依然可以通过.using()为要进行的操作指定数据库,之后会放例子~

在项目文件夹中新建database_router.py 文件,内容如下:

# -*- coding: utf-8 -*-
from django.conf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值