常见的FieldType数据库字段类型
1、AutoField:自增Field域,自动增加的一个数据库字段类型,例如id字段就可以使用该数据类型,参数中必须填入primary_key=True
2、BigAutoField:和AutoField相同,只是比AutoField要大,参数中必须填入primary_key=True
3、BigIntegerField:大整型,只要用于存储整型的数据
4、BinaryField:主要是存储原始的二进制数据
5、BooleanField:主要是存储布尔类型的数据,0和1
6、CharField:主要存储字符串的数据类型
7、DateField:主要存储日期类型的数据类型,日期格式为YYYY-MM-DD
8、DateTimeField:主要存储时间相关的数据类型,格式为YYYY-MM-DD HH:MM:[ss[.uuuuuu]][TZ]
注意:DateField与DateTimeField有两个属性,配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库,配置auto_now=True,每次更新数据记录的时候都会更新该字段
9、DecimalField:主要存储固定精度的十进制数据
--参数:max_digits(小数总长度)/decimal_places(小数位长度)
10、EmailField:存储电子邮件格式的数据,Django Admin以及ModelForm中提供验证机制
11、FileField:存储文件类型的数据,文件上传到指定目录
--参数:upload_to="...."(上传文件的保存路径)/storage=None(存储组件,默认django.core.files.storage.FileSystemStorage)
12、FilePathField:存储文件路径的数据,提供读取文件夹下文件的功能
--参数:path(文件夹路径)/match=None(正则匹配)/recursive=False(递归下面的文件夹)/allow_files=True(允许文件)/allow_folders=False(允许文件夹)
13、FloatField:存储浮点型数据
14、ImageField:存储图片型数据,文件上传到指定目录
--参数:upload_to="....."(上传文件的保存路径)/storage=None(存储组件,默认django.core.files.storage.FileSystemStorage)/width_field=None(上传图片的宽度保存的数据库字段名<字符串>)/height_field=None(上传图片的高度保存的数据库字段名<字符串>)
15、IntegerField:存储整型数据
16、GenericIPAddressField:存储IP地址信息数据
17、NullBooleanField:可以存储布尔值数据,也可以存储空null数据
18、PositiveIntegerField:主要存储正整数数据
19、SmallIntegerField:小整型,主要用于存储整型的数据
20、TextField:存储文章内容信息数据,存储比较长的文本信息
21、TimeField:存储时间信息
22、URLField:存储URL网址信息,Django Admin以及ModelForm中提供验证url
23、IPAddressField:Django Admin以及ModelForm中提供验证IPV4机制
24、GenericIPAddressField:Django Admin以及ModelForm中提供验证IPV4和IPV6机制
常用关系型数据表处理Field
1、处理一对多关系数据表:使用ForeignKey
2、处理多对多关系数据表:使用ManyToManyField
3、 处理一对一关系数据表:使用OneToOneField
具体介绍可以查看 https://docs.djangoproject.com/en/3.2/ref/models/fields/#module-django.db.models.fields