11.字段类型

上一章我们使用了字符串与数字类型的数据,下面我们统一介绍一下常用的字段类型

在下面创建字段的时候,最开始的中文都是不必要的,我们可给可不给

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版权协议,转载请附上原文出处链接和本声明。