Django模型字段验证

时间:2018-09-09 14:29:29

标签: django-models django-2.1

我有一个模特

class StudentBasicInfo(models.Model):
    usn = models.CharField(blank=False,max_length=10,unique=True,validators=[])

我的usn格式为[0-9] [A-Za-z] [A-Za-z] [0-9] [0-9] [AZ] [AZ] [0-9] [ 0-9] [0-9]

我不知道如何编写验证码

1 个答案:

答案 0 :(得分:0)

创建一个验证器。我建议像这样的RegexValidator:

from django.core.validators import RegexValidator

...

class StudentBasicInfo(models.Model):
    usn = models.CharField(blank=False,max_length=10,unique=True, validators=[RegexValidator(regex='[0-9][A-Za-z]{2}[0-9]{2}[A-Z]{2}[0-9]{3}', message='Error message goes here')])

我自由地通过组合在一起的组来缩短您的正则表达式。如果要使错误显示在管理员字段旁边,则必须重载ModelForm。