Django中的常用字段类型与参数
Django中的常用字段类型
1. 数值型
以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1)
AutoField int(11)
自增主键,Django Model默认提供,可以被重写。它的完整定义是id=models.AutoField(primary_key=True)
BooleanField tinyint(1)
布尔类型字段,一般用于记录状态标记
DecimalField decimal
开发对数据精度要求较高的业务时考虑使用,比如做支付相关,金融相关。定义时,需要指定到多少位,比如cash = models.DecimalField(max_digits=8, decimal_placee=2, default=0, verbose_name="消费金额")就是定义长度为8位、精度为2的数字。比方说,你想保存666.66这样的数字那么你的max_digits就需要为5,decimal_places需要为2
值得注意的是,在Python中也要使用Decimal类型来转换数据(from decimal import Decimal)
IntegerField int(11)
它同AutoField一样,唯一的差别就是不自增
PositiveIntegerField
与IntegerField一样,但只包含正整数
SmallIntegerField smallint
小整数时一般会用到
2. 字符型
以下这些字段都是用来存储字符数据的,对应在MySQL中有两种类型:longtext和varchar
除了TextField是longtext类型外,其他均属于varchar类型。
CharField varchar
基础的varchar类型
URLField
继承自CharField,但是实现了对URL的特殊处理
UUIDField char(32)
除了在PostgreSQL中使用的是uuid类型外,在其他数据库中均是固定长度char(32),用来存放生成的唯一id
EmailField
同URLField一样,他继承自CharField,多了对E-mail的特殊处理
FileField
同URLField一样,它继承自CharField,多了对文件的特殊处理。当你定义一个字段为FileField时,在admin部分展示时会自动生成一个可上传文件的按钮。
TextField longtext
一般用来存放大量文本内容,比如新闻正文、博客正文
ImageField
继承自FileField,用来处理图片相关的数据,在展示上会有所不同
3. 日期类型
以下都为日期类型,分别对应MySQL的date、datetime和time
DateField
DateTimeField
TimeField
4. 关系类型
这是关系型数据库中比较重要的字段类型,用来关联两个表,具体如下:
ForeignKey
OneToOneField
ManyToManyField
Django中的常用字段参数
null
可以同blank对比考虑,其中null用于设定在数据库层面是否允许为空
blank
针对业务层面,该值是否允许为空。
choices
配置字段的choices后,在admin页面上就可以看到对应的选项展示。
db column
默认情况下,我们定义的Field就是对应数据库中的字段名称,通过这个参数可以指定Model中的某个字段对应数据库中的哪个字段。
db_ index
索引配置。对于业务上需要经常作为查询条件的字段,应该配置此项。
default
默认值配置。
editable
是否可编辑,默认是True。 如果不想将这个字段展示到页面上,可以配置为False。
error_ messages
用来自定义字段值校验失败时的异常提示,它是字典格式。key 的可选项为null、blank、invalid、invalid_choice、unique 和unique_for_date
help_text
字段提示语,配置这一项后,在页面对应字段的下方会展示此配置。
primary_key
主键,一个Model只允许设置一个字段为 primary_key。
unique
唯一约束,当需要配置唯一值时,设置unique=True, 设置此项后,不需要设置db_ index。
unique_ for_ date
针对date (日期)的联合约束,比如我们需要一 天只能有一篇名为《Django》的文章,那么可以在定义title字段时配置参数: unique _for_date="created time"。
需要注意的是,这并不是数据库层面的约束。
unique_ for_ month
针对月份的联合约束
unique_ for_ year
针对年份的联合约束。
verbose_ name
字段对应的展示文案。
validators
自定义校验逻辑,同form类似
Django中的常用字段类型与参数的更多相关文章
- Django中ORM常用字段类型及参数
常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...
- Django中ORM常用字段及字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django models 的常用字段类型和字段参数
<1> CharField #字符串字段, 用于较短的字符串. #CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符 ...
- 潭州课堂25班:Ph201805201 django框架 第七课 常用 字段类型及参数,关系表的实现,表关系对象add,create的方法 (课堂笔记)
写个类,创建表格 执行命令生成文件 提交,在数据库中创建 进入数据库查看 对数据进行修改操作 只有用到 save() 才能触发 updaer_time 的更改, 下边 update 方法不会修改 up ...
- django ORM 增删改查 模糊查询 字段类型 及参数等
ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...
- Django创建数据库常用字段及参数
Django创建数据库常用字段及参数 常用字段 1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列 ...
- Django模型类之models字段类型和参数以及元数据meta
models之字段类型和参数 示例: # class Test(models.Model): # courses_test # """测试学习用""& ...
- SQL常用字段类型
中文常用字段类型 1. 名称类 nvarchar(10) 2. 数量 int 3. 时间 date 4. 货币 money 5. 编号 ...
- SQL数据库中字段类型 与C#中的对应字段类型
数据库中的字段类型和对应的C#中的对应字段类型 数据库 C#程序int int32text stringbigint int64binary System.Byte[] ...
随机推荐
- 一些需要记住的linux命令
1. 系统帮助命令 ----man 2. 数据同步写入磁盘 ----sync 3. 查找文件命令 ...
- 【NOIP 2018】摆渡车
前情提要 是的 我终于回来补坑了 一年了哇 你这个鸽子王 斜率优化版本 今天在复习斜率优化的时候才想起来这个题 定义就不设了 大家想看可以看上面那个原版 怎么斜率优化呢? 我们考虑\(i\)点是当前的 ...
- 洛谷 P6624 - [省选联考 2020 A 卷] 作业题(矩阵树定理+简单数论)
题面传送门 u1s1 这种题目还是相当套路的罢 首先看到 \(\gcd\) 可以套路地往数论方向想,我们记 \(f_i\) 为满足边权的 \(\gcd\) 为 \(i\) 的倍数的所有生成树的权值之和 ...
- [Ocean Modelling for Begineers] Ch3. Basics of Geophysical Fluid Dynamics
Ch3. Basics of Geophysical Fluid Dynamics 本章主要介绍 标量与向量 Newton定律 波动与恒定状态流体 浮力 科氏力 守恒律 紊动 N-S方程 3.1 Un ...
- 2021-2-3-利用anaconda+prefetch+aspera从NCBI的SRA数据库中下载原始测序数据
目录 1.Conda连接不上镜像源问题 2. aspera不能再独立使用 3.使用prefetch搭配aspera 4. prefetch下载方法 记录下下载过程,为自己和后人避坑. 1.Conda连 ...
- Yarn的Tool接口案例
目录 Yarn的Tool接口案例 Tool接口环境准备 1 新建Maven项目YarnDemo 编写代码 打包jar上传到集群 Yarn的Tool接口案例 Tool接口环境准备 之前写wordcoun ...
- A Child's History of England.18
But, although she was a gentle lady, in all things worthy to be beloved - good, beautiful, sensible, ...
- keil 生成 bin 文件 gd32为例
fromelf --bin --output .\update\GD32F4xZ.bin .\Output\GD32450Z_EVAL.axf代表使用的keil内的工具代表输出公式,..表示: 输出 ...
- PLSQL导出oracle表结构和数据
1.导出表结构和数据 方式1.tools->export user objects是导出表结构 tools ->export user object 选择选项,导出.sql文件 说明:导出 ...
- AOP与IOC的概念
AOP与IOC的概念(即spring的核心) a) IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度.而sp ...