Валидация модели поля Джанго - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть модель

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

my usn будет в формате [0-9] [A-Za-z] [A-Za-z] [0-9] [0-9] [AZ] [AZ] [0-9] [ 0-9] [0-9]

Я не знаю, как написать проверочный код

1 Ответ

0 голосов
/ 03 ноября 2018

создать валидатор. Я бы предложил 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.

...