Django: внедрить проверку формы в ModelForm, а не в модель

Вопрос. Есть ли способ внедрить проверку поля формы в ModelForm вместо Model?

Обоснование: у меня есть три ModelForm, которые обновляют один и тот же экземпляр Model, у которых есть условия по умолчанию для blank. Я должен был разработать три разные Модели для каждой формы, но я слишком далеко, чтобы внести изменения.

Пожалуйста помогите!

Спасибо, Нил


person Neel    schedule 10.08.2018    source источник
comment
Да, реализуя функции clean_fieldname. См.: docs.djangoproject.com/en/2.0/ref/forms/validation.   -  person Willem Van Onsem    schedule 10.08.2018
comment
Спасибо, Виллем, сработало отлично!   -  person Neel    schedule 10.08.2018


Ответы (2)


ModelForm — это разновидность формы (наследуемой от BaseForm), поэтому вы можете использовать методы проверки поля формы, чтобы сделать это, потому что метод clean() унаследован от BaseForm. Итак, для поля с именем foo вы используете метод clean_foo() для очистки.

person leotrubach    schedule 10.08.2018

ответ leotrubach - это то, что нужно, я просто хочу добавить, что документация django на эту тему хорошо читается.

person Jonas Vandermosten    schedule 10.08.2018