开发一个考试系统——组织管理的模型实现

108 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情

上一篇创建了项目,并实现项目在github上的托管。

这一篇我们实现组织管理模块的部分相关功能。

这个项目的链接是:github.com/Amor122/MyT…

我已经设置了公开权限,大家都可以访问,项目每天的进度基本上是和文章更新一致的,或者略快于文章,我也是边写边发的。

 

一、配置修改

这个模块已经在上一篇中创建完成。

首选我们要在主模块的settings文件中,将这个模块的名称加入到INSTALLED_APPS列表

image.png

给这个模块复制一个urls文件,再加入到主模块的urls中

image.png

数据库我们使用mysql数据库

image.png 以后我们就可以迁移文件直接在这个数据库里了。

 

二、数据模型创建

(一)      公共模型

首先是创建公共模型,设置好id的保存形式以及公共属性创建时间

image.png

(二)      权限模型

权限模型用于定义一些权限名称,代表了能够执行的操作。附带的权限量级用于在数值层面上衡量权限的大小。

image.png  

(三)      组织类型模型

定义了组织类型的名字,并将它与权限的多对多对应关系存入第三张表。

  image.png

 

 

(四)      组织

组织因为他有上下级关联特性,所以有个自关联的外键,然后组织具有组织类型,和组织的名称。

image.png  

 

模型都建立完毕后执行迁移命令进行迁移

python manage.py makemigrations

python manage.py migrate

前一条命令是生成迁移文件

后一条是向数据库迁移。数据库里会有个django_migrations的表,里面的数据条目和我们本地的migrations文件夹的文件是对应的。所以没事千万别删除这些文件。

 

 

此时在admin文件中创建对应的权限管理器

  能够实现我们在后台管理页面上处理模型数据。

image.png

使用登录后台功能先要创建超级管理员

执行:python manage.py createsuperuser

输入设置的用户名和密码

设置好以后,我们再将程序跑起来,进入到admin页面查看

image.png   此时我们就可以先添加点数据进去

image.png

image.png  

  image.png

后续我们再将人员加入到这个系统里,这个系统的和人相关功能就基本完毕了。