上一章我们使用了字符串与数字类型的数据,下面我们统一介绍一下常用的字段类型
在下面创建字段的时候,最开始的中文都是不必要的,我们可给可不给
1 布尔类型 BooleanField()
在数据库中的名字为tinyint(1),在python中使用True或False表示值,在数据库中用1或0表示值
我们创建一个看一下
生成中间文件和数据库迁移我就省略了,我们直接看数据库的内容
2 字符串类型 CharField()
在数据库中类型为varchar,必填属性是max_length
这个上面创建过了,在这里就不创建了
3 日期类型 DateField()
在数据库中类型为date,有三个参数
- auto_now:取值为True或False,如果是True则 每次保存对象(ORM中的对象)时,自动设置该字段为当前时间
- auto_now_add:取值为True或False,如果是True则 对象第一次被创建时,保存对象创建的时间
- default:取值是字符串形式,比如2022-2-27
当设置一个DateField时,以上三个参数只能三选一
4 时间类型 DateTimeField()
在数据库中类型为datetime(6),比起DateField()它还能表示时间
参数与DateField()一致
一般一个表中会有两个字段,一个是创建的时间,使用auto_now_add。另一个是上一次更新的时间,使用auto_now
5 浮点数类型 FloatField()
在数据库中类型为double
这里设置的时候需要有default
6 数字类型 DecimalField()
在数据库中类型为decimal(x,y),x是最大位数(包括小数点后面的数),y是小数点后的位数
必填属性为max_digits(最大位数)与decimal_places(小数点后位数)
上面创建过了,这里不再搞了
7 邮箱类型 EmailField()
在数据库中类型为varchar(254),这个实际上就是字符串,只不过我们搞出来一个field让他存邮箱
我们目前随便给一个默认值,它也不会出问题,但是必须要给一个default
8 整数类型 IntegerField()
在数据库中类型为int
default是必须要给的
9 图片路径类型 ImageField()
在数据库中类型为varchar(100),是放图片路径用的
这个在生成中间文件的时候需要PIL的库
我们安装一下
实际上也是个字符串,我们目前随便给一个
安装PIL后就可以了
10 长字符类型 TextField()
在数据库中类型为longtext,放不定长的字符数据
版权声明:本文为potato123232原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。