Django 模型字段类型和字段参数总结
Models 字段类型
1. models.AutoField
# 作用说明:默认生成列名为 id 的列,并设置为主键 # 数据类型:int(11) # 必备参数:primary_key = True 作为主键存在 ColName = models.AutoField(primary_key = True)
2. models.CharField
# 作用说明:字符串字段,长度小于255 # 数据类型:varchar(50) # 必备参数:max_length = 50 设置字段长度为50 ColName = mode3. models.BooleanFieldls.CharField(max_length = 50)
3. models.BooleanField
# 作用说明:布尔类型字段 # 数据类型:tinyint(1) # 必备参数:Blank=True ,字段不能为空 ColName = models.BooleanField (Blank = True)
4. models.ComaSeparatedIntegerField
# 作用说明:逗号分割的数字 # 数据类型:varchar(50) # 必备参数:max_length = 50 设置字段长度为50 ColName = models.ComaSeparatedIntegerField(max_length = 50)
5. models.DateField
# 作用说明:日期类型 # 数据类型:date # 必备参数:default = timezone.now 修改字段保存当前时间 from django.utils import timezone ColName = models.DateField(default = timezone.now)
6. models.DateTimeField
# 作用说明:日期类型 # 数据类型:datetime # 必备参数:default = timezone.now 修改字段保存当前时间 from django.utils import timezone ColName = models.DateTimeField(default = timezone.now)
7. models.DecimalField
# 作用说明:十进制小数类型,保留几位小数 # 数据类型:decimal # 必备参数:最大位数max_digits = 10 和小数位decimal_places = 2 from django.utils import timezone ColName = models.DecimalField(max_digits = 10 , decimal_places = 2)
8. models.EmailField
# 作用说明:电子邮箱字段 # 数据类型:varchar,必须是email类型 # 必备参数:无 ColName = models.EmailField()
9. models.FloatField
# 作用说明:浮点型字段 # 数据类型:float # 必备参数:最大位数max_digits = 10 和小数位decimal_places = 2 ColName = models.FloatField(max_digits = 10,decimal_places = 2)
10. models.IntegerField
# 作用说明:整数类型 # 数据类型:int # 必备参数:无 ColName = models.IntegerField()
11. models.BigIntegerField
# 作用说明:长整数类型 # 数据类型:int # 必备参数:无 ColName = models.BigIntegerField()
12. models.IPAddressField
# 作用说明:IP字段存储类型 # 数据类型:varchar # 必备参数:无 ColName = models.IPAddressField()
13. models.GenericIPAddressField
# 作用说明:可选ip4和ip6字段存储类型 # 数据类型:varchar # 必备参数:protocol (both,ipv4,ipv6) ColName = models.GenericIPAddressField(protocol = both)
14. models.NullBooleanField
# 作用说明:允许空的布尔类型 # 数据类型:varchar # 必备参数:无 ColName = models.NullBooleanField(protocol = both)
15. models.PositiveIntegerField
# 作用说明:负整数类型 # 数据类型:int # 必备参数:无 ColName = models.PositiveIntegerField()
16. models.PositiveSmallIntegerField
# 作用说明:负数字字段类型tinyint、smallint、int、bigint # 数据类型:varchar # 必备参数:无 ColName = models.PositiveSmallIntegerField()
17. models.SlugField
# 作用说明:字段必须包含减号、下划线、字母、数字 # 数据类型:varchar # 必备参数:无 ColName = models.SlugField()
18. models.SmallIntegerField
# 作用说明:数字字段类型tinyint、smallint、int、bigint # 数据类型:varchar # 必备参数:无 ColName = models.SmallIntegerField()
19. models.TextField
# 作用说明:长文本类型 # 数据类型:longtext # 必备参数:无 ColName = models.TextField()
20. models.TimeField
# 作用说明:时间类型 HH:MM:SS # 数据类型:datetime # 必备参数:无 ColName = models.TimeField()
21. models.URLField
# 作用说明:url链接类型 # 数据类型:varchar # 必备参数:无 ColName = models.URLField()
22. models.BinaryField
# 作用说明:二进制类型 # 数据类型:varchar # 必备参数:无 ColName = models.BinaryField()
23. models.ImageField
# 作用说明:图片类型,保存成图片地址 # 数据类型:varchar # 必备参数:无 ColName = models.ImageField()
24. models.FilePathField
# 作用说明:文件地址类型,根据地址选择匹配文件 # 数据类型:varchar # 必备参数:path(文件的路径) ColName = models.FilePathField(path='绝对路径')
25. models.FileField
# 作用说明:文件上传功能 # 数据类型:varchar # 必备参数:upload_to ColName = models.FileField(upload_to='绝对路径')
26. models.PhoneNumberField
# 作用说明:11位电话号码 # 数据类型:varchar(XXX-XXX-XXXX) # 必备参数:无 ColName = models.PhoneNumberField()
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)
6. max_length
# 字段最大长度
7. default
# 字段默认值
8. verbose_name
# Admin后台中字段的显示名称
9. name或db_column
# 数据库中的字段名称
10. unique=True
# 不允许重复值出现
11. db_index = True
# 数据库索引
12. editable=True
# Admin后台中中是否可编辑
13. error_messages=None
# 错误提示 GENDER_CHOICE = ( (u'M', u'Male'), (u'F', u'Female'), ) gender = models.CharField(max_length=2,choices=GENDER_CHOICE,error_messages={"错误类型":"错误原因"})
14. auto_created=False
# 自动创建
15. help_text
# Admin后台中提示帮助信息
16. validators=[]
# 提示区间,例如电话号码范围
17. upload-to
# 指明上传的文件防止根目录下的/upload/文件夹下 file_path = modles.FileField(upload-to = "./upload/")
知道、想到、做到、得到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-03-23 python代码格式化工具_autopep8的安装与使用