Django数据库ORM操作,字段的类型和参数

  

通过Django的ORM创建表的时候,我们需要定义自己的类。定义类的时候,他有各种各样的字段类型,每个字段都有自己的参数可以进行配置、下面简单的归纳一下。


首先看看字段的类型。尽管Python提供了近20种乎类型,他转换成数据库表之后,其实本质就是4个类型:字符串,数字,时间和二进制。

AutoField(字段)   ,,,的背后,int自增列,必须填入参数,primary_key=True   BigAutoField (AutoField)   ,,,的背后,长整型数字自增列,必须填入参数,primary_key=True   ,,,注:当模型中如果没有自增列,则自动会创建一个列名为id的列   ,才能得到django.db  import 模型   ,,,class 用户信息(models.Model):   ,,,,,,,#,自动创建一个列名为id的且为自增的整数列   ,,,,,,,username =, models.CharField (max_length=32)   ,,,class 集团(models.Model):   ,,,,,,,#,自定义自增列   ,,,,,,,nid =, models.AutoField (primary_key=True)   ,,,,,,,name =, models.CharField (max_length=32)   SmallIntegerField (IntegerField):   ,,,今天早上,小整数,-32768 ~,32767   PositiveSmallIntegerField (PositiveIntegerRelDbTypeMixin, IntegerField)   ,,,的背后,正小整数,0 ~,32767   IntegerField(字段)   ,,,什么;整数列(有符号的),-2147483648,~,2147483647   PositiveIntegerField (PositiveIntegerRelDbTypeMixin, IntegerField)   ,,,的背后,正整数,0,~,2147483647   BigIntegerField (IntegerField):   ,,,的背后,长整型(有符号的),-9223372036854775808,~,9223372036854775807   自定义无符号整数字段   ,,,class  UnsignedIntegerField (models.IntegerField):   ,,,,,,,def  db_type(自我,,连接):   ,,,,,,,,,,,return “integer 无符号”   PS:,,,,返回值为字段在数据库中的属性,Django字段默认的值为:   ,,,,,,,“AutoField”:,“integer  AUTO_INCREMENT”,   ,,,,,,,“BigAutoField”:,“bigint  AUTO_INCREMENT”,   ,,,,,,,“BinaryField”:,“longblob”,   ,,,,,,,“BooleanField”:,“bool”,   ,,,,,,,“CharField”:,“varchar (% (max_length))”,   ,,,,,,,“CommaSeparatedIntegerField”:,“varchar (% (max_length))”,   ,,,,,,,“DateField”:,“日期”,   ,,,,,,,“DateTimeField”:,“datetime”,   ,,,,,,,“DecimalField”:,“数字(% (max_digits),, % (decimal_places) s)”,   ,,,,,,,“DurationField”:,“长整型数字”,   ,,,,,,,“FileField”:,“varchar (% (max_length))”,   ,,,,,,,“FilePathField”:,“varchar (% (max_length))”,   ,,,,,,,“实域”:,“double 精密”,   ,,,,,,,“IntegerField”:,“整数”,   ,,,,,,,“BigIntegerField”:,“长整型数字”,   ,,,,,,,“IPAddressField”:,“char (15)”,   ,,,,,,,“GenericIPAddressField”:,“char (39)”,   ,,,,,,,“NullBooleanField”:,“bool”,   ,,,,,,,“一对一字段”:,“整数”,   ,,,,,,,“PositiveIntegerField”:,“integer 无符号”,   ,,,,,,,“PositiveSmallIntegerField”:,“smallint 无符号”,   ,,,,,,,“SlugField”:,“varchar (% (max_length))”,   ,,,,,,,“SmallIntegerField”:,“短整型”,   ,,,,,,,“文本框”:,“量变”,   ,,,,,,,“TimeField”:,“时间”,   ,,,,,,,“UUIDField”:,“char (32)”,   BooleanField(字段)   ,,,今天早上,布尔值类型   NullBooleanField(领域):   ,,,的背后,可以为空的布尔值   CharField(字段)   ,,,的背后,字符类型   ,,,的背后,必须提供max_length参数,,max_length表示字符长度   文本字段(字段)   ,,,的背后,文本类型   EmailField (CharField):   ,,,的背后,字符串类型,Django 管理以及ModelForm中提供验证机制   IPAddressField(字段)   ,,,的背后,字符串类型,Django 管理以及ModelForm中提供验证,IPV4 机制   GenericIPAddressField(字段)   ,,,的背后,字符串类型,Django 管理以及ModelForm中提供验证,Ipv4和Ipv6   ,,,什么;参数:   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Django数据库ORM操作,字段的类型和参数