MySQL数据库自动生成Models文件导入Django

前言

在Django项目使用数据库时,可以有三种方式:

        1.直接编写app内的models文件,然后自动生成MySQL数据库

        2.直接在MySQL中将数据库编写好,然后不使用models,而是在views中利用PyMySQL编写数据库链接等操作

        3.MySQL库自动生成models文件进行连接使用

这里详解第三种方式

具体步骤

1.编MySQL数据库

        在这一步骤中,我们需要将项目需要的库创建完毕,包括每个表中具体的主外键约束、非空约束、以及数据存储的考量,以及各种实体表中的关系,这里推荐先将关系表写出来,在根据关系表画出对应的ER图,接下来再进行数据库的创建,这里不进行赘述。

注意:尽量让数据库中的命名为英文!否则后面的步骤中会出现问题!

2.创建Django项目,并导入相应的第三方库

        这一步骤中,我们需要将Django项目创建好后,导入相应第三方库,即简单配置环境

这里我使用的是Django4.1.1,Python3.10

需要的第三方库共有两个:

        PyMySQL以及mysqlclient

        如果使用的是PyCharm提供的虚拟环境,则直接在Files->Settings->Project:项目名-> python interpreter中找到左上角的“+”,点击后搜索相应的库,单击Install Package进行安装

MySQL数据库自动生成Models文件导入Django_第1张图片

MySQL数据库自动生成Models文件导入Django_第2张图片

        如果使用的是本地环境,则找到Python环境下pip工具所在路径下(一般在Python环境下的Scripts路径下),进入cmd界面进行下载安装:pip install [要安装的第三方库的名字]

3.配置Django的settings文件,与要使用的数据库进行链接

        这一步骤中,我们先找到与我们创建Django项目路径下与项目同名的文件夹,打开之后,找到settings.py文件

MySQL数据库自动生成Models文件导入Django_第3张图片

        接下来我们找到此文件中的DATABASE部分,默认为下图:

MySQL数据库自动生成Models文件导入Django_第4张图片

之后我们将此部分编写为:

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为数据库端口

注意:以上所有字段都需要大写!否则会出现错误!

4.利用MySQL已有库生成models文件

如果在PyCharm中,则找到左下角Terminal  ,如果是在本地直接进行,则找到manage.py文件所在路径下打开cmd命令行MySQL数据库自动生成Models文件导入Django_第5张图片

         接下来输入:python manage.py inspectdb > models.py 

MySQL数据库自动生成Models文件导入Django_第6张图片

此命令执行完毕后,会在manage.py同路径下创建一个models.py文件,此models.py文件中的数据即为根据MySQL数据库自动生成的models

MySQL数据库自动生成Models文件导入Django_第7张图片

注意:尽量让数据库中的命名为英文,否则部分表名及属性不可自动生成!

 5.在app中的models添加需要使用到的表

        上一步生成的models.py文件中的class即为数据库中的表!

        在进行此步骤之前,需要确保app已经在settings中注册!  

 ①找到我们创建的app路径下的models.py文件,将所需要的表从上一步中的models文件中直接复制粘贴到app下的models中MySQL数据库自动生成Models文件导入Django_第8张图片

②修改managed值为TrueMySQL数据库自动生成Models文件导入Django_第9张图片

 6.修改Django链接数据库到新库,或沿用当前数据库,进行链接

打开Terminal,依次执行:

python manage.py makemigrations

python manage.py migrate

MySQL数据库自动生成Models文件导入Django_第10张图片

 MySQL数据库自动生成Models文件导入Django_第11张图片

不报错即成功!

愿诸君继续努力,向着梦想前进! 

你可能感兴趣的:(Django,django,数据库,mysql,python)