Django models Django模型现场验证

Django models Django模型现场验证,django-models,django-2.1,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][A-z][A-z][0-9][0-9][0-9] 我不知道如何编写验证代码创建验证程序。我建议使用这样的RegexValidator: from django.core

我有一个模型

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][A-z][A-z][0-9][0-9][0-9]


我不知道如何编写验证代码创建验证程序。我建议使用这样的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')])
我冒昧地通过组合在一起的组来缩短您的正则表达式。如果您想让错误出现在admin中的字段旁边,则必须重载ModelForm