Django学习Day5

news2025/2/4 12:58:48

由于前两天核酸阳的,一直发烧,故没有学习,csdn也没有进行更新。今天身体基本恢复,继续Django的学习旅程。也希望各位读者重视个人的身体健康,做好自己健康的第一负责人。

1.关于针对模型类的数据库修改方法补充

在models.py中重写模型类,用于增加数据库中的列。
并重新执行数据库迁移命令。

关于再重写模型类中用到的字段类型。
1.BooleanField()
数据库类型:tinyint(1)
编程语言中经常使用True和False来表示值
在数据库中使用1和0来表示具体的值

2.CharField()
数据库类型为varchar,
使用这个字段必须要指定max_length参数的值。

3.DataField()
数据库类型为:date
作用:表示日期
参数:
auto_now 每次保存对象时候,自动设置该字段为当前时间
auto_now_add:当对象第一次被创建时,自动设置当前时间
default:设置当前时间(取值为字符串格式,如‘2022-12-16’)
以上三个参数只能选择一个进行设置
在这种情况下,在创建表时,一般会新建两个字段,分别为建立表的时间和更新表的时间。

4.DateTimeField()
数据库类型:datetime(6)
作用:表示日期和时间
参数和DateField一样

5.FloatField()
数据库类型:double
编程语言中和数据库中都是用小数表示值

6.DecimalField()
数据库类型:decimal(x,y)
在编程语言中,使用小数表示这一列的值。
在数据库中使用的时小数。
参数:
1.max_digits:总位数,包括小数点后的位数。
2.decimal_places:小数点后的数字数量。
7.EmailField()
数据库类型:varchar
编程语言和数据库中都是用字符串。Django中会内建正则进行邮件规则的过滤。

8.IntegerField():
数据库类型:int
编程语言和数据库中都是用整数

9.ImageField()
数据库类型:varchar(100)
作用:在数据库中为了保存图片的路径
编程语言和数据库中都是用字符串用于保存图片的路径。

10.TextField()
数据库类型:longtext
作用:表示不定长的字符数据。

示例:此处建一个techer的模型类,由name姓名,age年龄和email邮箱构成。
在这里插入图片描述
执行命令后,获得迁移文件:
在这里插入图片描述
进行数据同步:
在这里插入图片描述
在demo1数据库中,多出了一张表:

在这里插入图片描述
可以发现,即使我们使用EmailField数据类型,但是在数据库中,保存的数据还是char类型的。
在Django3中,EmailField需要定义一个default的属性。否则在创建迁移文件时会产生报错信息。

2.模型类定义

复习模型类的定义语法如下:

from django.db import models
class 模型类名 (models.Model):
	字段名 = models.字段类型(字段选项)

通过模型类的定义,就可以实现对数据库结构的增删改查,无需在mysql中敲击mysql的命令,极大程度的简化了开发的成本。

字段选项
字段选项是指创建的列存在额外的信息。
模型类允许多个字段选项出现,多个选项之间使用,隔开。
Primary_key如果设置为True,说明该列为主键,如果指定一个字段为逐渐,那么数据表不会创建id字段。
Blank如果设置为true,那么意味着字段可以为空,否则字段需要必须填写。
Null如果设置为True,那么表示这列值允许为空。这个字段默认为False,如果需要设置为False,Django建议使用default参数设置默认值为False
Default用于设置所在列的默认值,如果字段选项null=False,那么django建议使用这个参数。
db_index,如果设置为True,表示为这个列增加索引。
Unqiue,如果设置为True,表示增加了唯一约束。
db_column用于指定列的名称,如果不指定的话就采用属性名作为列名。
Verbose_name用于设置字段在admin界面上显示的名称。
需要注意的是,修改字段选项后,均要执行:makemigrations和migrate操作。

3.Meta类

Meta类可以定义在模型类的内部,作为模型类的内部类。用于管理表的相关属性。例如对表名的修改可以通过meta类来实现。
在这里插入图片描述
例如,在Meta类中,db_table意味着修改数据库的表名。Meta类中定义了一部分对表的控制信息。Django官方内置了一部分的属性。(名称不能变化,只能为Meta类。)
在这里插入图片描述
在这里插入图片描述
迁移数据库文件后,进入数据库,发现表名已经由原来的studentapp_teacher变为teacher.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二苯基环辛炔-氨基;DBCO-NH2科研实验用试剂DBCO-Amine;CAS:1255942-06-3

英文名称:DBCO-Amine DBCO-NH2 中文名称:二苯基环辛炔-氨基 CAS:1255942-06-3 分子式:C18H16N2 分子量:276.3 外观:固体粉末 溶剂:溶于 DMSO, DMF, DCM, THF, Chloroform 储存条件&…

什么是容器安全性,您如何提升自己的安全性?

容器无疑已成为部署应用程序的流行方式。这很棒,因为与部署到虚拟机相比,它们具有大量优势。其中一些优点包括便携、不可变和轻量级。您可以控制运行服务的容器内部的内容,这可以产生清晰、可审计的跟踪。 对于安全专业人员来说,…

模型复杂度与硬件性能的衡量

1. 模型复杂度的衡量 参数数量(Params):指模型含有多少参数,直接决定模型的大小,也影响推断时对内存的占用量 单位通常为 M,通常参数用 float32 表示,所以模型大小是参数数量的 4 倍左右参数数…

数据结构C语言版 —— 树和二叉树的概念

树和二叉树 一、树 1. 树的概念 树(Tree)是n(n>0)n(n>0)n(n>0)个节点的有限集,在任意一颗非空树中: (1) 有且仅有一个特定的称为根(Root)的节点,根节点是没有前驱节点的。 (2)当 n>1n > 1n>1时…

_11LeetCode代码随想录算法训练营第十一天-C++队列的应用

_11LeetCode代码随想录算法训练营第十一天-C队列的应用 239.滑动窗口最大值347.前K个高频元素 239.滑动窗口最大值 整体思路 要实现一个单调递减队列: 对于滑动窗口的滑动,移除前面的元素,加入后面的元素。当移除前面的元素时&#xff0…

监控物联网卡该如何选择,你都踩过哪些坑?

不知道大家有没有发现在自己的身边不知不觉多了很多新玩意,例如智能自动售货机、共享单车、智能监控设备等,它们让大家的生活变得越来越方便,那么大家知道它们为什么能起到这么大的作用吗,其实得得益于一个叫做物联网卡的东西。前…

通过kubeode安装k8s

文章目录通过kubeode安装k8s1、准备vmdk文件2、创建虚拟机3、进入虚拟机4、配置yum源5、清理6、 增加node服务器7、修改Ip8、下载下载通道01 走普通家庭宽带下载点下载通道02 走群友无私赞助电信机房专线服务器--高速稳定下载----强烈推荐下载并解压9、一键安装通过kubeode安装…

字符串函数剖析(1)

带你玩转字符串 1.strlen函数不一样的细节 1.1模拟实现strlen函数 2.strcpy函数的巧妙 2.2strcpy的模拟实现 3.strcmp函数的巧妙 3.2strcmp的模拟实现 详解strlen的细节 首先了解strlen 函数的参数 size_t strlen ( const char * str );size_t 是什么东西呢&#xff1f…

链表-------数据结构

链表(重点): 链表是物理存储结构上面非连续的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 1)在顺序表中,我们不光引入了一段连续的内存,还引入了一块连续的内存空间,叫做usedsize,来表示对应数组中…

PMP每年考几次,费用如何?

PMP每年考四次,整个考证一次通关大致需要 7000 元左右,主要是下面几项费用: 部分学习笔记: 一、考证费用 分为基础费用报班费用 基础费用:报名费续证费用(补考费 / 退考费) 报名费 3900 元是固…

【软件测试】测试人的内卷,掀起血雨腥风......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 铺天盖地的职场内卷…

如何利用深度学习中的AutoEncoder进行特征降维和特征可视化,pytorch代码

我们将使用 Pytorch 中的 AutoEncoder(自动编码器架构)来减少特征维度和可视化。 北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理 人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典 首先&#xff0c…

力扣(142.1002)补9.17

142.环形链表Ⅱ 不会,不过答案用了数学的想法,我以为计算机里只有暴力呢。 public class Solution { public ListNode detectCycle(ListNode head) { if(headnull||head.nextnull) return null; ListNode phead; ListNode p2head; while(true){ if(p2.ne…

Excel教程之学生成功所需的 5 个电子表格

作为一名学生,跟踪你盘子里的所有任务和责任可能会让人不知所措。 这就是为什么拥有一套组织良好的电子表格可以成为救命稻草的原因。出于多种原因,维护自己的电子表格可能是一项宝贵的技能。首先,它可以帮助您养成良好的习惯,例如组织和关注细节。通过创建和维护您自己的…

RabbitMQ之Exchange(交换机)

目录 一、Exchange简介 二、Exchange(交换机)的类型 1.直连交换机:Direct Exchange 2.主题交换机:Topic Exchange 3.扇形交换机:Fanout Exchange 4、默认交换机 5、Dead Letter Exchange(死信交换机) 三、交换机…

Conan 上传预编译的包

目录 1. 组织文件 2. 编写conanfile.py 3. 然后执行export 命令 4. 上传到自己的center 疫情肆虐,阳了一周,今天可以正常工作了,刚接触conan, 确实一脸懵逼,今天的任务是把项目转成Conan 管理,因为项目用到了第三方…

R语言学习笔记——扩展篇:第十九章-使用ggplot2进行高级绘图

R语言 R语言学习笔记——扩展篇:第十九章-使用ggplot2进行高级绘图 文章目录R语言一、R中的四种图形系统二、ggplot2包介绍三、用几何函数指定图的类型四、分组(重叠图形)五、刻面(并排图形)六、添加光滑曲线七、修改…

SpringMVC的AOP总结

SpringMVC的AOP总结 1、Filter 过滤器 Filter是Servlet规范中规定的,只能用于WEB中, 在Servlet前后起作用 它可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次 使用场景: 修改字符编码; 对入参进行校验, 校验不通过返回…

java实验报告之Employee类的设计

一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion:2022.12.20 Last edited: 2022.12.20 目录 一、实验目的 二、实验内容 三、总体设计(设计原理、设计方案及流程等) 四…

Python数据结构+算法全面讲解:定义函数、定义类

之前的过程抽象例子调用了 Python数学模块中的 sqrt 函数来计算平方根。通常来说,可以 通过定义函数来隐藏任何计算的细节。函数的定义需要一个函数名、一系列参数以及一个函数体。 函数也可以显式地返回一个值。例如,下面定义的简单函数会返回传入值的平方。 >>> …