1、项目同名文件夹下的 init.py 文件
- MySQLdb 模块是Python2 里面操作MySQL数据库的模块,和Python3 pymysql用法一样;
- Django底层是用的 MySQLdb 模块
- Python3中没有 MySQLdb 模块,可以给 pymysql 起个别名
- pymysql.install_as_MySQLdb() 是给 pymysql 重命名了,实际调用了pymysql
- 可以查看install_as_MySQLdb()源码
- 源码sys.modules[“MySQLdb”] = sys.modules[“_mysql”] = sys.modules[“pymysql”] ```python import pymysql
pymysql.install_as_MySQLdb() # 给 pymysql 起别名为 MySQLdb
<a name="OhQks"></a>
# 2、项目同名文件夹下的 settings.py 文件
```python
# 用于指定数据库的配置信息
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3', # 指定数据库存储引擎
# 'NAME': BASE_DIR / 'db.sqlite3', # 指定要连接的数据库名称
# },
'default': { # 指定MySQL数据库
'ENGINE': 'django.db.backends.mysql',
'NAME': "分库", # 数据库
"USER": "数据库账号", # 账号
"PASSWORD": "数据库密码", # 密码
"PORT": 3306, # 端口号
"HOST": "数据库ip地址" # ip
},
# 可以配置多个数据库,操作数据表模型的时候可以指定数据库
'uat_environment': { # 指定MySQL数据库
'ENGINE': 'django.db.backends.mysql',
'NAME': "uat_db", # 数据库
"USER": "数据库账号", # 账号
"PASSWORD": "数据库密码", # 密码
"PORT": 3306, # 端口号
"HOST": "数据库ip地址" # ip
}
}
2.1、使用多个数据库
当进行数据查询时,默认使用的是default定义的数据库;
当我们想用名称为uat_db 的数据库时,
可以使用 using 来指定数据库为 uat_environment(即使用 uat_db 数据库)
student1=models.Student.objects.using(“uat_environment”).filter()
2.2、项目中途切换数据库
- 注释掉 settings.py 文件中 原来的数据库配置
- settings.py 文件中 添加 新的数据库配置
- python manage.py migrate # 同步到数据库(数据库迁移) 执行该命令
3、参考博客
CSDN:基于django框架web项目实战开发三 django连接mysql数据库
https://blog.csdn.net/weixin_42914677/article/details/89743027
博客园:Python3之Django连接mysql数据库