Django里面的classMeta常用参数
在使用django里面的form组件时,经常碰到class Meta 这一原类;`class Meta`的作用其实就是替form做一些校验功能的扩展封装。
其常用的属性有以下几种:
model = models.UserInfo # 对应的Model中的类
fields = "__all__" # 字段,如果是__all__,就是表示列出所有的字段
exclude = None # 排除的字段
labels = None # 提示信息
help_texts = None # 帮助提示信息
widgets = None # 自定义插件
error_messages = None # 自定义错误信息
error_messages = {
'title':{'required':'不能为空',...} #每个字段的所有的错误都可以写,...是省略的意思,复制黏贴我代码的时候别忘了删了...
}
abstract:这个属性是定义当前的模型类是不是一个抽象类。所谓抽象类是不会响应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类能够继承这些字段。
class UserInfo(models.Model):
name=models.CharField(max_length=10)
password=models.CharField(min_length=6)
gender=models.CharField(max_length=2,choices=GENDER_CHOICE,null=True)
class Meta:
abstract=True
此时运行python manage.py makemigrations/python manage.py magrite;后的输出结果入下。能够看出 UserInfo表并没有被创建:
unique_together:用来设置的不重复的字段组合,它是一个元组的元组,组合起来的时候必须是唯一的
index_together:用来设置带有索引的字段组合,列表中的字段将会建立索引
verbose_name:对象的一个易于理解的名称,为单数;
verbose_name_plural:该对象复数形式的名称