У меня есть модель M
, у которой есть поле num=models.IntegerField()
У меня есть модель с именем F
для модели M
.
Я хочу убедиться, что num никогда не бывает отрицательным.
Если я выполняю проверку в классе формы, F
, тогда я могу сделать clean_num()
: если отрицательно, бросить ValidationError('Num can never be negative')
.Этот ValidationError
будет автоматически отображаться пользователю, перенаправляя его обратно на отправленную форму и отображая сообщение «Num никогда не может быть отрицательным» в верхней части поля num
.Это все сделано автоматически django, как только я скину ValidationError
из метода clean_fieldname
.
Я бы хотел сделать все это, но в классе модели.
F
- это ModelForm
, созданный из класса модели M
.M
определяет, что поле num
никогда не может быть отрицательным.
Когда я вызываю is_valid()
в форме, я хочу, чтобы функции, определенные в модели, проверяли на валидацию для любого ModelForm
что ссылается на эту модель.
Как мне этого добиться?