Как давать зависимости для полей модели в Django?

Допустим, у меня есть модель Books с полем book_year. Тип этого поля - PositiveSmallIntegerField(). То есть, туда нужно вписывать дату создания книги.

Вопрос: Как запретить вводить значение, большее чем текущий год?

Я читал про декоратор @property но, как я понял, мне это не помогает (если я все сделал правильно).


Ответы (1 шт):

Автор решения: Alioshca Z

А чего не хотите использовать специальные для этого поля DateField или DateTimeField? Ну а так есть валидаторы, можете использовать:

from django.core.validators import MinValueValidator, MaxValueValidator
myfield = models.PositiveSmallIntegerField(validators=[MaxValueValidator(Ваше значение которое нельзя превышать, 'Предупреждающий текст, если кто-то ввёл большее значение')])
→ Ссылка