Django 模型字段类型总结
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 |
一个上传文件的字段。它有两个可选属性: |
| 14 | FilePathField |
如果,你想使用文件系统中的文件,而不是用户上传的文件,请使用FilePathField。例如:from django.conf import settings |
| 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 | 多对多关联 | 一对一关联关系 |