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
    )
复制代码

 

posted @   茶叶蛋蛋  阅读(381)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示