Model常用字段类型及参数
不考虑Django的admin的参数,直接写
字段设置:
class UserInfo(models.Model): xx = models.CharField(max_length=32)
#数字类 xx = models.IntegerField()
xx = models.FloatField()
xx = models.DecimalField(max_digits=18,decimal_places=2)
#时间
xx = models.DateTimeField(null=True)
xx = models.DateField()
'django 中枚举下来菜单的设置及取值 color_list = ( (1, '黑色'), (2, '白色'), (3, '蓝色') ) color = models.IntegerField(choices=color_list)
字段参数设置:
null = True
default = 'xxx' db_index = True #单列索引 unique = True #单列唯一索引 primary_key = True max_length = 12
default
db_colume
#举例
email = models.EmailField(null = True,default = 'zhuboemail@126.com',unique = True)
ctime = models.DateTimeField(null=True, unique_for_date=True, unique_for_month=True, unique_for_year=True)
#不常用了解一下
unique_for_date=True #数据库中字段【日期】部分是否可以建立唯一索引
unique_for_month=True #数据库中字段【月】部分是否可以建立唯一索引
unique_for_year=True #数据库中字段【年】部分是否可以建立唯一索引
多列索引:
unique_together #联合唯一索引
index_together #联合索引(不唯一)
class Meta: unique_together = ( ('email', 'ctime') ) index_together = ( ('email', 'ctime') )
关于 admin中设置的一些参数
blank=True #允许接受空值的设置
email = models.EmailField(null = True,default = 'zhuboemail@126.com',unique = True,blank=True)
verbose_name='电子邮件' #前端页面 admin 中显示的字段名称
email = models.EmailField(verbose_name='电子邮件')
editable=’False‘ #前端页面 admin 中是否能够编辑该字段,设置为False前段将隐藏该字段
email = models.EmailField(editable='False')
help_text #q前段页面 admin 中 显示该字段的帮助信息
email = models.EmailField(help_text='邮箱格式必须有@符号')
字段中 自定义错误验证(列表类型),从而指定想要的验证规则
from django.core.validators import RegexValidator from django.core.validators import EmailValidator, URLValidator, DecimalValidator, \ MaxLengthValidator, MinLengthValidator, MaxValueValidator, MinValueValidator test = models.CharField ( max_length= 32, error_messages={ 'c1':'优先错信息1', }, validators=[RegexValidator(regex='root_\d+',message='错误了',code='c1')], null=True )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了