在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中
②修改managed值为True
打开Terminal;依次执行;
python manage.py makemigrations
python manage.py migrate
不报错即成功;
愿诸君继续努力;向着梦想前进;