Django模型中的常见字段类型
编号 | 字段类型Filed Types | 描述 |
---|---|---|
1 | AutoField | 如果没有指明主键,就会产生一个自增的主键。 |
2 | BigIntegerField | 64位的整型数值,从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)。 |
3 | BinaryField | 存储二进制码的Field. 只支持bytes 赋值。 |
4 | BooleanField | 该字段的默认表单控件是CheckboxInput,如果你需要设置null 值,则使用NullBooleanField 来代替BooleanField。 |
5 | CharField | 用来存储字符串 |
6 | TextField | 用来存储大字符串 |
7 | CommaSeparatedIntegerField | 一个逗号分隔的整数字段。 |
8 | DateField | 使用Python的datetime.date实例保存的日期。auto_now = True:每次保存对象时,自动设置该字段为当前时间;auto_now_add=True:对象第一次被创建时自动设置当前时间。需要注意的是,自动保存的时间的时区使用的是默认时区。 |
9 | DateTimeField | 使用Python的datetime.datetime实例表示的日期和时间。 |
10 | DecimalField | 用python中 Decimal 的一个实例来表示十进制浮点数。 |
11 | DurationField | 用来存储一段时间,类似Python中的timedelta。 |
12 | EmailField | 它和CharField类似,只不过比CharField多了自动校验输入的值是否符合Email格式的功能。它使用 EmailValidator 来验证输入合法性。 |
13 | FileField | 一个上传文件的字段。它有两个可选属性: 1. FileField.upload_to :它的值是一个本地文件系统的路径,这个路径将被追加到MEDIA_ROOT设置中。MEDIA_ROOT在settings中,用来指定用户上传文件的存放路径。 2. FileField.storage用来指定Storage 对象。例如: from django.core.files.storage import FileSystemStorage fs = FileSystemStorage(location=’/media/photos’) class Car(models.Model): photo = models.ImageField(storage=fs) |
14 | FilePathField | 如果,你想使用文件系统中的文件,而不是用户上传的文件,请使用FilePathField。例如:from django.conf import settings class Document(models.Model): audio = models.FilePathField(path=settings.FILE_PATH_FIELD_DIRECTORY) |
15 | FloatField | 用Python的一个float 实例来表示一个浮点数。 |
16 | ImageField | 是FileField的子类,比FileField多了有效图片校验功能,确保它是个有效的image。 |
17 | IntegerField | 整数字段。 |
18 | GenericIPAddressField | 一个 IPv4 或 IPv6 地址, 字符串格式 (例如 192.0.2.30 或 2a02:42fe::4). 这个字段的默认表单小部件是一个TextInput。 |
19 | PositiveIntegerField | 类似 IntegerField, 但值必须是正数或者零(0)。 |
20 | PositiveSmallIntegerField | 小于32767 的正整数。 |
21 | SlugField | Slug 是一个新闻术语(通常叫做短标题)。一个slug只能包含字母、数字、下划线或者是连字符,通常用来作为短标签。通常它们是用来放在URL里的。 |
22 | SmallIntegerField | -32768 至 32767的整数。 |
23 | TextField | 大文本字段。该模型默认的表单组件是Textarea。 |
24 | TimeField | 时间字段,和Python中 datetime.time 一样。 |
25 | URLField | 一个CharField 类型的URL。 |
26 | UUIDField | 一个用来存储UUID的字段。使用Python的UUID类。 |
27 | ForeignKey | 多对一关系 |
28 | ManyToManyField | 多对多关联 |
29 | OneToOneField | 一对一关联关系 |