Django model字段类型清单

时间:2021-09-21 13:57:44

Django model字段类型清单

1、AutoField:

一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model

2、BooleanField:

布尔字段,管理工具里会自动将其描述为checkbox。

3、CharField:

字符串字段,单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField,CharField有一个必填参数:

CharField.max_length:

字符的最大长度,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。

4、TextField:

一个容量很大的文本字段, admin 管理界面用 多行编辑框表示该字段数据。

5、CommaSeparatedIntegerField:

用于存放逗号分隔的整数值。类似 CharField,必须maxlength 参数。

6、DateField:

日期字段,admin 用一个文本框 来表示该字段数据(附带一个 JavaScript 日历和一个”Today”快捷按键。有下列额外的可选参数:

auto_now:当对象被保存时,自动将该字段的值设置为当前时间.通常用于表示 “last-modified” 时间戳;
auto_now_add:当对象首次被创建时,自动将该字段的值设置为当前时间.通常用于表示对象创建时间。

7、DateTimeField:

类似 DateField 支持同样的附加选项。

8、EmailField:

一个带有检查 Email 合法性的 CharField,不接受 maxlength 参数。

9、FileField:

一个文件上传字段。 要求一个必须有的参数: upload_to, 一个用于保存上载文件的本地文件系统路径

10、FilePathField:

选择指定目录按限制规则选择文件,有三个参数可选, 其中”path”必需的,这三个参数可以同时使用

path:必需参数,一个目录的绝对文件系统路径。 FilePathField 据此得到可选项目。 Example: “/home/images”;
match:可选参数, 一个正则表达式, 作为一个字符串, FilePathField 将使用它过滤文件名。 注意这个正则表达式只会应用到 base filename 而不是路径全名。 Example: “foo。*\。txt^”, 将匹配文件 foo23.txt 却不匹配 bar.txt 或 foo23.gif;
recursive:可选参数, 是否包括 path 下全部子目录,TrueFalse,默认值为 False

11、FloatField:

浮点型字段。 必须提供两个 参数, 参数描述:

max_digits:总位数(不包括小数点和符号)
decimal_places:小数位数。如:要保存最大值为 999 (小数点后保存2位),你要这样定义字段:models.FloatField(…,max_digits=5, decimal_places=2),要保存最大值一百万(小数点后保存10位)的话,你要这样定义:models.FloatField(…,max_digits=19, decimal_places=10)

12、ImageField:

类似 FileField, 不过要校验上传对象是否是一个合法图片。它有两个可选参数:height_field 和 width_field,如果提供这两个参数,则图片将按提供的高度和宽度规格保存。 该字段要求 Python Imaging 库。

13、IntegerField:

用于保存一个整数。

14、IPAddressField:

一个字符串形式的 IP 地址, (如 “202.1241.30″)。

15、NullBooleanField:

类似 BooleanField, 不过允许 NULL 作为其中一个选项。 推荐使用这个字段而不要用 BooleanField 加 null=True 选项。 admin 用一个选择框 (三个可选择的值: “Unknown”, “Yes” 和 “No” ) 来表示这种字段数据。

16、PhoneNumberField:

一个带有合法美国风格电话号码校验的 CharField(格式:XXX-XXX-XXXX)。

17、PositiveIntegerField:

类似 IntegerField, 但取值范围为非负整数(这个字段应该是允许0值的…可以理解为无符号整数)

18、URLField:

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

19、TimeField:

时间字段,类似于 DateField 和 DateTimeField。