Python - Django - ORM 不常用字段
BigAutoField(AutoField):
bigint 自增列,必须填入参数 primary_key=True
如果没有写自增列,则会自动创建一个列名为 id 的列
SmallIntegerField(IntegerField):
短整型,-32768 到 32767
PositiveSmallIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField):
正短整型,0 到 32767
IntegerField(Field):
有符号的整数列,-2147483648 到 2147483647
PositiveIntegerField(PositiveIntegerRelDbTypeMixin, IntegerField):
正整数,0 到 2147483647
BigIntegerField(IntegerField):
有符号的长整型,-9223372036854775808 到 9223372036854775807
BooleanField(Field):
布尔值类型
NullBooleanField(Field):
可以为空的布尔值
TextField(Field):
文本类型
EmailField(CharField):
字符串类型,Django Admin 以及 ModelForm 中提供验证机制
IPAddressField(Field):
字符串类型,Django Admin 以及 ModelForm 中提供验证 IPV4 机制
GenericIPAddressField(Field):
字符串类型,Django Admin 以及 ModelForm 中提供验证 Ipv4 和 Ipv6
参数:protocol,用于指定 Ipv4 或 Ipv6, 'both',"ipv4","ipv6";unpack_ipv4,如果指定为 True,则输入 ::ffff:192.0.2.1 的时候,可解析为 192.0.2.1,开启此功能,需要 protocol="both"
URLField(CharField):
字符串类型,Django Admin 以及 ModelForm 中提供验证 URL
SlugField(CharField):
字符串类型,Django Admin 以及 ModelForm 中提供验证支持 字母、数字、下划线、连接符(减号)
CommaSeparatedIntegerField(CharField):
字符串类型,格式必须为逗号分割的数字
UUIDField(Field):
字符串类型,Django Admin 以及 ModelForm 中提供对 UUID 格式的验证
TimeField(DateTimeCheckMixin, Field):
时间格式,HH:MM[:ss[.uuuuuu]]
DurationField(Field):
长整数,时间间隔,数据库中按照 bigint 存储,ORM 中获取的值为 datetime.timedelta 类型
FloatField(Field):
浮点型
DecimalField(Field):
10进制小数
参数:max_digits,小数总长度;decimal_places,小数位长度
BinaryField(Field):
二进制类型
FilePathField(Field):
字符串,Django Admin 以及 ModelForm 中提供读取文件夹下文件的功能
参数:path,文件夹路径;match=None,正则匹配;recursive=False,递归下面的文件夹;allow_files=True,允许文件;allow_folders=False,允许文件夹
FileField(Field):
字符串,路径保存在数据库,文件上传到指定目录
参数:upload_to="",上传文件的保存路径;storage=None,存储组件,默认 django.core.files.storage.FileSystemStorage
ImageField(FileField):
字符串,路径保存在数据库,文件上传到指定目录
参数:upload_to="",上传文件的保存路径;storage=None 存储组件,默认 django.core.files.storage.FileSystemStorage;width_field=None,上传图片的高度保存的数据库字段名(字符串);height_field=None,上传图片的宽度保存的数据库字段名(字符串)