AutoField
一个 IntegerField,根据可用的 ID 自动递增。你通常不需要直接使用它;如果你没有指定,主键字段会自动添加到你的模型中。
BigAutoField
一个 64 位整数,与 AutoField 很相似,但保证适合 1 到 9223372036854775807 的数字。
BigIntegerField
一个 64 位的整数,和 IntegerField 很像,只是它保证适合从 -9223372036854775808 到 9223372036854775807 的数字。该字段的默认表单部件是一个 NumberInput。
BinaryField
一个用于存储原始二进制数据的字段。
BooleanField
一个 true/false 字段。
该字段的默认表单部件是 CheckboxInput,或者如果 null=True 则是 NullBooleanSelect。
当 Field.default 没有定义时,BooleanField 的默认值是 None。
CharField
一个字符串字段,适用于小到大的字符串。
对于大量的文本,使用 TextField。
该字段的默认表单部件是一个 TextInput。
CharField 有两个额外的参数:
CharField.max_length
必须的。该字段的最大长度(以字符为单位)。
CharField.db_collation【Django 3.2新增参数】
可选的 。该字段的数据库字符序名称。
DateField
一个日期,在 Python 中用一个 datetime.date
实例表示。有一些额外的、可选的参数。
DateField.auto_now
每次保存对象时,自动将该字段设置为现在。对于“最后修改”的时间戳很有用。 请注意,当前日期 总是 被使用,而不仅仅是一个你可以覆盖的默认值。只有在 调用 Model.save() 时,该字段才会自动更新。当以其他方式对其他字段进行更 新时,如 QuerySet.update(),该字段不会被更新,尽管你可以在这样的更新中 为该字段指定一个自定义值。
DateField.auto_now_add
当第一次创建对象时,自动将该字段设置为现在。对创建时间戳很有用。请注 意,当前日期是 始终 使用的;它不是一个你可以覆盖的默认值。因此,即使你 在创建对象时为该字段设置了一个值,它也会被忽略。如果你想修改这个字段, 可以设置以下内容来代替 auto_now_add=True :对于 DateField: default=date.today ——来自 datetime.date.today()对于 DateTimeField: default=timezone.now ——来自 django.utils.timezone.now()
该字段的默认表单部件是一个 DateInput。管理中增加了一个 JavaScript 日历,以及“今天”的快捷方式。包含一个额外的 invalid_date 错误信息键。
auto_now_add、auto_now 和 default 选项是相互排斥的。这些选项的任何组合都会导致错误。
DateTimeField
一个日期和时间,在 Python 中用一个 datetime.datetime 实例表示。与 DateField 一样,使用相同的额外参数。
该字段的默认表单部件是一个单独的 DateTimeInput。管理中使用两个单独的 TextInput 部件,并使用 JavaScript 快捷方式。
DecimalField
一个固定精度的十进制数,在 Python 中用一个 Decimal
实例来表示。
有两个 必要的 参数:
DecimalField.max_digits
数字中允许的最大位数。请注意,这个数字必须大于或等于 decimal_places。
DecimalField.decimal_places
与数字一起存储的小数位数。
DurationField
一个用于存储时间段的字段
EmailField
一个 CharField,使用 EmailValidator 来检查该值是否为有效的电子邮件地址。
FileField
一个文件上传字段
有两个可选参数:
FileField.upload_to
这个属性提供了一种设置上传目录和文件名的方式,可以有两种设置方式。在这 两种情况下,值都会传递给 Storage.save() 方法。如果你指定一个字符串值或一 个 Path,它可能包含 strftime() 格式,它将被文件上传的日期/时间所代替(这 样上传的文件就不会填满指定的目录)。
FileField.storage
一个存储对象,或是一个返回存储对象的可调用对象。它处理你的文件的存储和 检索。
FloatField
在 Python 中用一个 float
实例表示的浮点数。
ImageField
继承 FileField 的所有属性和方法,但也验证上传的对象是有效的图像
SlugField
Slug 是一个报纸术语。slug 是一个简短的标签,只包含字母、数字、下划线或连字符。它们一般用于 URL 中
TextField
一个大的文本字段。该字段的默认表单部件是一个 Textarea。
TimeField
一个时间,在 Python 中用 datetime.time 实例表示。接受与 DateField 相同的自动填充选项。
URLField
URL 的 CharField,由 URLValidator 验证。