帮小姐姐打分系统的模型创建,滚雪球学 Python 第三轮第 11 篇

举报
梦想橡皮擦 发表于 2021/04/09 01:13:27 2021/04/09
【摘要】 橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。 已经完成的文章 滚雪球学 Python 第三轮,Python Web 之 Django 的世界小手哆嗦一下,就能用 Python Django 实现一个微型博客系统Django 做个小后台,细节在完善一点点,滚雪球学 Python 第三阶段Django QuerySet 就学...

橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。

已经完成的文章

十二、Django 模型与管理页面

12.1 模型创建

在上篇博客中创建了 Django 给我们内置好的模型,这些是远远不够的,实现一个应用还需要具备自己的模型。

在 Django 中 model 可以理解成就是数据库中的表。

打分系统 客户模型小姐姐打分模型

客户模型包含字段如下

  1. 客户 ID
  2. 客户名
  3. 客户手机号

分数模型

  1. 自增主键
  2. 客户 ID(上表外键)
  3. 分数
  4. 小姐姐 ID(登录者 ID,User 表外键)

修改 models.py 文件代码,添加 Customer 类与 Score 类。

from django.db import models
# 导入 User 类
from django.contrib.auth.models import User

class Customer(models.Model): # 自增主键 _id = models.AutoField(primary_key=True) name = models.CharField(max_length=20, verbose_name="客户名") mobile = models.IntegerField(default=0, verbose_name="手机号码")


class Score(models.Model): # 自增主键 _id = models.AutoField(primary_key=True) customer = models.ForeignKey(Customer, on_delete=models.CASCADE) score = models.IntegerField(default=0, verbose_name="分数") # 使用 User 类作为登录用户的外键 user_id = models.ForeignKey(User, on_delete=models.CASCADE)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

完成模型代码编写,在激活模型前,还需要进行一下应用的配置,因为 migrate 命令需要在 settings.py 文件中的 INSTALLED_APPS 中检索当前项目涉及的数据表,所以需要将 scoring 应用添加到该列表中。
这里需要补充一个知识,后续打分系统的配置文件都在 scoring/apps.py 文件中,所以在 INSTALLED_APPS 中添加下述代码即可。

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'scoring.apps.ScoringConfig'
]

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

准备工作完成,运行 python manage.py makemigrations scoring 命令,该命令去检索模型文件的修改,对修改部分会成圣一个迁移文件。在通过 python manage.py migrate 将模型的更改同步到数据库表结构之上,完成模型与数据库之间的数据一致性。

12.2 创建管理页面与添加打分系统应用

模型准备完毕之后,下面就要解决数据添加的问题,首先实现打分应用的后台功能。

创建超级管理员

python manage.py createsuperuser

  
 
  • 1

创建之后运行系统,即可登录到后台管理页面。访问地址是 http://127.0.0.1:8000/admin

帮小姐姐打分系统的模型创建,滚雪球学 Python 第三轮第 11 篇
登录之后默认的管理界面如下所示,此时还没有 scoring 应用存在。
帮小姐姐打分系统的模型创建,滚雪球学 Python 第三轮第 11 篇
打开 scoring/admin.py 文件,修改其中的代码为下述内容:

from django.contrib import admin
from .models import Customer

admin.site.register(Customer)

  
 
  • 1
  • 2
  • 3
  • 4

编写完毕保存文件,刷新浏览器,即可发现页面中新增加了一个应用。

帮小姐姐打分系统的模型创建,滚雪球学 Python 第三轮第 11 篇
点击右侧的 add 按钮,可以对数据进行添加与维护,暂时忽略其他内容,小姐姐打分系统的第二天已经顺利度过了。

12.3 本篇博客小节

本篇我们再次对打分系统中的模型与后台管理界面进行了复习与迭代学习,希望这一小节对你有所帮助。

相关阅读

  1. Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧
  2. Python 游戏世界(更新中,目标文章数 50+,现在订阅,都是老粉)
  3. Python 爬虫小课,精彩 9 讲

今天是持续写作的第 130 / 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号 梦想橡皮擦,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家点赞评论收藏

Django 教程 新手学flask还是django python django框架 django文件管理系统 Django3文档 django打印文档 django毕业设计 django nginx部署到windows django 文件下载

文章来源: blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/hihell/article/details/115502514

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。