Валидация модели поля Джанго
У меня есть модель
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 ответ
Создать валидатор. Я бы предложил 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.