【Django3.0框架翻译】models.py篇:字段类型的灵活使用

Django3.0中apps应用下models.py中字段类型的灵活使用详解以及常用示例模板。

全部配置文件索引目录传送门:
【Django3.0框架翻译】models篇:全部配置目录索引

Django models 字段类型

  1. models.AutoField
    作用说明:默认生成列名为 id 的列,并设置为主键
    数据类型:int(11)
    必备参数:primary_key = True 作为主键存在
ColName = models.AutoField(primary_key = True)
  1. models.CharField
    作用说明:字符串字段,长度小于255
    数据类型:varchar(50)
    必备参数:max_length = 50 设置字段长度为50
ColName = models.CharField(max_length = 50)
  1. models.BooleanField
    作用说明:布尔类型字段
    数据类型:tinyint(1)
    必备参数:Blank=True ,字段不能为空
ColName = models.BooleanField  (Blank = True)
  1. models.ComaSeparatedIntegerField
    作用说明:逗号分割的数字
    数据类型:varchar(50)
    必备参数:max_length = 50 设置字段长度为50
ColName = models.ComaSeparatedIntegerField(max_length = 50)
  1. models.DateField
    作用说明:日期类型
    数据类型:date
    必备参数:default = timezone.now 修改字段保存当前时间
from django.utils import timezone
ColName = models.DateField(default = timezone.now)
  1. models.DateTimeField
    作用说明:日期类型
    数据类型:datetime
    必备参数:default = timezone.now 修改字段保存当前时间
from django.utils import timezone
ColName = models.DateTimeField(default = timezone.now)
  1. models.DecimalField
    作用说明:十进制小数类型,保留几位小数
    数据类型:decimal
    必备参数:最大位数max_digits = 10 和小数位decimal_places = 2
from django.utils import timezone
ColName = models.DecimalField(max_digits = 10 , decimal_places = 2)
  1. models.EmailField
    作用说明:电子邮箱字段
    数据类型:varchar,必须是email类型
    必备参数:无
ColName = models.EmailField()
  1. models.FloatField
    作用说明:浮点型字段
    数据类型:float
    必备参数:最大位数max_digits = 10 和小数位decimal_places = 2
ColName = models.FloatField(max_digits = 10,decimal_places = 2)
  1. models.IntegerField
    作用说明:整数类型
    数据类型:int
    必备参数:无
ColName = models.IntegerField()
  1. models.BigIntegerField
    作用说明:长整数类型
    数据类型:int
    必备参数:无
ColName = models.BigIntegerField()
  1. models.IPAddressField
    作用说明:IP字段存储类型
    数据类型:varchar
    必备参数:无
ColName = models.IPAddressField()
  1. models.GenericIPAddressField
    作用说明:可选ip4和ip6字段存储类型
    数据类型:varchar
    必备参数:protocol (both,ipv4,ipv6)
ColName = models.GenericIPAddressField(protocol = both)
  1. models.NullBooleanField
    作用说明:允许空的布尔类型
    数据类型:varchar
    必备参数:无
ColName = models.NullBooleanField(protocol = both)
  1. models.PositiveIntegerField
    作用说明:负整数类型
    数据类型:int
    必备参数:无
ColName = models.PositiveIntegerField()
  1. models.PositiveSmallIntegerField
    作用说明:负数字字段类型tinyint、smallint、int、bigint
    数据类型:varchar
    必备参数:无
ColName = models.PositiveSmallIntegerField()
  1. models.SlugField
    作用说明:字段必须包含减号、下划线、字母、数字
    数据类型:varchar
    必备参数:无
ColName = models.SlugField()
  1. models.SmallIntegerField
    作用说明:数字字段类型tinyint、smallint、int、bigint
    数据类型:varchar
    必备参数:无
ColName = models.SmallIntegerField()
  1. models.TextField
    作用说明:长文本类型
    数据类型:longtext
    必备参数:无
ColName = models.TextField()
  1. models.TimeField
    作用说明:时间类型 HH:MM:SS
    数据类型:datetime
    必备参数:无
ColName = models.TimeField()
  1. models.URLField
    作用说明:url链接类型
    数据类型:varchar
    必备参数:无
ColName = models.URLField()
  1. models.BinaryField
    作用说明:二进制类型
    数据类型:varchar
    必备参数:无
ColName = models.BinaryField()
  1. models.ImageField
    作用说明:图片类型,保存成图片地址
    数据类型:varchar
    必备参数:无
ColName = models.ImageField()
  1. models.FilePathField
    作用说明:文件地址类型,根据地址选择匹配文件
    数据类型:varchar
    必备参数:path(文件的路径),
ColName = models.FilePathField(path='绝对路径')
  1. models.FileField
    作用说明:文件上传功能
    数据类型:varchar
    必备参数:upload_to
ColName = models.FileField(upload_to='绝对路径')
  1. models.PhoneNumberField
    作用说明:11位电话号码
    数据类型:varchar(XXX-XXX-XXXX)
    必备参数:无
ColName = models.PhoneNumberField()

Django models 字段参数

  1. null=True
    字段可为空
  2. blank=True
    Admin后台中添加数据时是否可允许空值
  3. primary_key = False
    主键,对AutoField设置主键后,就会代替原来的自增 id 列
  4. auto_now 和 auto_now_add
     auto_now 自动创建—无论添加或修改都是当前修执行动作时间
     auto_now_add 自动创建—永远是创建时的时间
  5. choices
    创建关联选项
GENDER_CHOICE = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
gender = models.CharField(max_length=2,choices = GENDER_CHOICE) 
  1. max_length
    字段最大长度
  2. default  
    字段默认值
  3. verbose_name  
    Admin后台中字段的显示名称
  4. name或db_column
    数据库中的字段名称
  5. unique=True
    不允许重复值出现
  6. db_index = True
    数据库索引
  7. editable=True  
    Admin后台中中是否可编辑
  8. error_messages=None
    错误提示
GENDER_CHOICE = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
gender = models.CharField(max_length=2,choices=GENDER_CHOICE,error_messages={
    
    "错误类型":"错误原因"})
  1. auto_created=False
    自动创建
  2. help_text
    Admin后台中提示帮助信息
  3. validators=[]
    提示区间,例如电话号码范围
  4. upload-to
    指明上传的文件防止根目录下的/upload/文件夹下
file_path = modles.FileField(upload-to = "./upload/")

猜你喜欢

转载自blog.csdn.net/qq_20288327/article/details/110230225