在Django项目使用数据库时,可以有三种方式:
1.直接编写app内的models文件,然后自动生成MySQL数据库
2.直接在MySQL中将数据库编写好,然后不使用models,而是在views中利用PyMySQL编写数据库链接等操作
3.MySQL库自动生成models文件进行连接使用
这里详解第三种方式
在这一步骤中,我们需要将项目需要的库创建完毕,包括每个表中具体的主外键约束、非空约束、以及数据存储的考量,以及各种实体表中的关系,这里推荐先将关系表写出来,在根据关系表画出对应的ER图,接下来再进行数据库的创建,这里不进行赘述。
注意:尽量让数据库中的命名为英文!否则后面的步骤中会出现问题!
这一步骤中,我们需要将Django项目创建好后,导入相应第三方库,即简单配置环境
这里我使用的是Django4.1.1,Python3.10
需要的第三方库共有两个:
PyMySQL以及mysqlclient
如果使用的是PyCharm提供的虚拟环境,则直接在Files->Settings->Project:项目名-> python interpreter中找到左上角的“+”,点击后搜索相应的库,单击Install Package进行安装
如果使用的是本地环境,则找到Python环境下pip工具所在路径下(一般在Python环境下的Scripts路径下),进入cmd界面进行下载安装:pip install [要安装的第三方库的名字]
这一步骤中,我们先找到与我们创建Django项目路径下与项目同名的文件夹,打开之后,找到settings.py文件
接下来我们找到此文件中的DATABASE部分,默认为下图:
之后我们将此部分编写为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbtest',
'HOST': '127.0.0.1',
'USER': 'root',
'PASSWORD': '123456',
'PORT':3306,
}
}
其中
NAME字段需要填写我们需要链接的数据库(DataBase)库名
HOST字段为我们使用的服务器ip,这里为主机默认ip
USER字段为我们数据库的用户名
PASSWORD字段为我们数据库的密码
PORT为数据库端口
注意:以上所有字段都需要大写!否则会出现错误!
如果在PyCharm中,则找到左下角Terminal ,如果是在本地直接进行,则找到manage.py文件所在路径下打开cmd命令行
接下来输入:python manage.py inspectdb > models.py
此命令执行完毕后,会在manage.py同路径下创建一个models.py文件,此models.py文件中的数据即为根据MySQL数据库自动生成的models
注意:尽量让数据库中的命名为英文,否则部分表名及属性不可自动生成!
上一步生成的models.py文件中的class即为数据库中的表!
在进行此步骤之前,需要确保app已经在settings中注册!
①找到我们创建的app路径下的models.py文件,将所需要的表从上一步中的models文件中直接复制粘贴到app下的models中
打开Terminal,依次执行:
python manage.py makemigrations
python manage.py migrate
不报错即成功!
愿诸君继续努力,向着梦想前进!