当前位置 : 主页 > 编程语言 > python >

Django(part21)--models字段

来源:互联网 收集:自由互联 发布时间:2022-06-15
学习笔记,仅供参考,有错必纠 参考自:​​django 官方文档​​​;​​Django 1.11.6 中文​​​;django models 之字段详解 models字段 models的字段类型 字段类型 意义 阐述 models.AutoField 自增列

学习笔记,仅供参考,有错必纠

参考自:​​django 官方文档​​​;​​Django 1.11.6 中文​​​;django models 之字段详解


models字段



models的字段类型



字段类型

意义

阐述

models.AutoField

自增列 int(11)

如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。

models.CharField

字符串字段

必须使用max_length参数,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。只可用于较短的字符串,如要保存大量文本, 可使用 TextField。

models.BooleanField

布尔类型tinyint(1)

该字段不能为空,也就是说他的Blank=True

models.ComaSeparatedIntegerField

用逗号分割的数字

继承CharField,所以必须有max_lenght 参数

models.DateField

日期类型date

如果参数auto_now = True,则每次更新都会更新这个时间;如果设置auto_now_add = True,则只是第一次创建添加,之后的更新不再改变。

models.DateTimeField

日期类型 datetime

和DateField的参数相同

models.DecimalField

十进制小数类型decimal

必须指定整数位max_digits和小数位decimal_places

models.EmailField

正则表达式邮箱varchar

对字符串进行正则表达式匹配,匹配一个带有检查Email合法性的 CharField,不接受maxlength 参数。

models.FloatField

浮点类型 double

浮点型字段

models.IntegerField

整形

用于保存一个整数

models.BigIntegerField

长整形

-

models.IPAddressField

ip4正则表达式

一个字符串形式的 IP 地址, 如 ​​202.1241.30​​

models.GenericIPAddressField

ip4和ip6为可选项

参数protocol可以为:both、ipv4、ipv6

models.NullBooleanField

允许为空的布尔类型

类似于BooleanField, 不过允许 NULL 作为其中一个选项。 推荐使用这个字段而不要用 BooleanField 加 null=True 选项。

models.PositiveIntegerField

正Integer

类似于IntegerField, 但取值范围为非负整数

models.PositiveSmallIntegerField

正smallInteger

正小整型字段

models.SmallIntegerField

数字

类似于 IntegerField, 不过只允许某个取值范围内的整数。(依赖数据库)

models.TextField

字符串longtext

一个容量很大的文本字段

models.TimeField

时间 HH:MM[:ss[.uuuuuu]]

时间字段

models.URLField

地址正则表达式

用于保存URL,若参数verify_exists=True (默认), 会预先检查URL是否存在(即URL是否被有效装入且没有返回404响应).

models.BinaryField

二进制

models.ImageField

图片

该字段要求 Python Imaging 库。

models.FilePathField

选择指定目录按限制规则选择文件

models.PhoneNumberField

一个带有合法美国风格电话号码校验的 CharField

格式:XXX-XXX-XXXX

models.FileField

文件上传字段

models.USStateField

美国州名缩写

由两个字母组成

models.XMLField

XML字符字段

-


字段选项

以下参数对所有字段类型均有效,且是可选的。



参数

意义

null

如果设置为 ​​True​​​, 当该字段为空时,Django 会将数据库中该字段设置为 ​​NULL​​​,默认为 ​​False​​。

blank

如果设置为 ​​True​​​ ,该字段允许为空。默认为 ​​False​​ 。

choices

一个可迭代的(例如,一个列表或元组),它本身就包含两个项目的可迭代项(例如​​[(A, B), (A, B) ...]​​)作为该字段的选项。

第一个值是实际存储的值,第二个用来方便进行选择,如SEX_CHOICES= ((‘F’,'Female’),(‘M’,'Male’),)

default

字段的默认值。 这可以是一个值或一个可调用的对象。 如果可调用,则每次创建新对象时都会调用它。

editable

如果​​False​​​,该字段将不会显示在管理员或任何其他​​​ModelForm​​​中。

help_text

admin模式下的帮助文档

primary_key

如果​​True​​,则该字段是模型的主键;如果没有设置,django创建表时会自动加上

error_messages

使用​​error_messages​​参数可以覆盖该字段将引发的默认消息。 传入一个字典,其中包含与要覆盖的错误消息相匹配的密钥。

unique

如果​​True​​,则该字段在整个表格中必须是唯一的。

unique_for_date

要求此字段对于日期字段的值是唯一的。

unique_for_month

与​​​unique_for_date​​​类似,但要求该字段相对于月份而言是唯一的。

db_index

如果设置为True, 表示为该列增加索引

db_column

指定列的名称,如果不指定的话则采用变量名作为列名




上一篇:Django(part24)--查询数据
下一篇:没有了
网友评论