Python基于Django实现图书馆借阅管理系统(可用于毕业设计/作业)-4

前言

Python基于Django实现图书馆借阅管理系统(可用于毕业设计/作业)-4:创建应用,通过Django内部封装的orm框架生成数据库表。
在这里插入图片描述

一、创建books应用

一个Django项目至少有一个应用,一个应用可以被多个Django项目调用。对于简单的项目而言,建立一个应用就够用了。我们的图书馆借阅管理系统较为简单,创建一个应用即可,创建应用需要用到命令行代码。接下来我们要创建books应用,命令行代码为:python manage.py startapp books
在这里插入图片描述
执行命令后,Django项目根目录下会自动生成一个books目录,如下图所示
在这里插入图片描述
然后打开项目根目录下的books_sys\setting.py文件,注册以下我们创建的books应用(否则Django无法帮助我们生成数据库表)。如下图所示,找到INSTALLED_APPS,在该列表的最后加上我们创建的应用名称即可。
在这里插入图片描述

二、通过orm生成数据库文件

通过orm生成数据库文件,有三步操作。创建model,生成迁徙文档,执行迁徙。

1、创建model

打开项目根目录下的books/models.py文件,将之前写好的八个表对应的Model类,→点击这里有之前写好的Model类,直接复制写入该文件中。
在这里插入图片描述
这里要注意,由于用户表没有使用Django的默认表,而是继承扩展了该表,所以需要单独设置三项。
①在model.py的顶部的导入部分增加以下代码

from django.contrib.auth.models import AbstractUser

②打开项目根目录下books_sys/settings.py文件。在文件的最底部增加以下代码

# 指定auth用户表为新的扩展用户表
AUTH_USER_MODEL = 'books.UserInfo'

③打开项目根目录下的venv\Lib\site-packages\django\contrib\auth模块下的 admin.py文件
找到以下代码(在第九行)

from django.contrib.auth.models import Group, User

将该行上面的User注释掉,同时在下面导入我们定义的UserInfo类,并取别名为User
修改好的代码如下

from django.contrib.auth.models import Group  # , User
from books.models import UserInfo as User

然后在该文件中找到 UserAdmin 类(大约在42行),找到该类中的 filedsets 属性,在下面加入元组(元组样式跟上面的一样,加上我们扩展的用户字段即可)即可。代码如下

('phone',{
    
    'fields': ('phone', )}),

2、生成迁徙文件

我们这里使用Django提供的默认数据库做演示,无需配置数据库。直接使用命令行代码即可。

扫描二维码关注公众号,回复: 17280151 查看本文章

python manage.py makemigrations

执行后的窗口截图如下
在这里插入图片描述

3、执行迁徙,生成数据库表

同样需要采用命令行代码,在终端窗口中运行以下命令行代码
python manage.py migrate

执行后的窗口如下图所示
在这里插入图片描述
最后我们打开数据库表检查一下,
在这里插入图片描述
如上图所示,数据库表生成成功。

关于更新:纯属分享,一般一天更新1~2篇,直至完结。

猜你喜欢

转载自blog.csdn.net/xiaomi170/article/details/131134068