В документации Django https://docs.djangoproject.com/en/dev/ref/forms/validation/#raising-validationerror сказал, что это хорошая практика для получения кода ошибки при сбое исключения ValidationError.Forms ValidationError и код ошибки
# Good
ValidationError(_('Invalid value'), code='invalid')
# Bad
ValidationError(_('Invalid value'))
У меня есть API в моем приложении, и я использую форму для проверки входных данных.
Если форма недействительна, я хочу получить эти коды ошибок (а не сообщения об ошибках).
Так что я смотрел на исходный код _clean_fields метода BaseForm:
https://github.com/django/django/blob/master/django/forms/forms.py#L278
except ValidationError as e:
self._errors[name] = self.error_class(e.messages)
if name in self.cleaned_data:
del self.cleaned_data[name]
Как я понимаю, этот параметр (self.code
) не передается в любом месте и не может быть получен после проверки формы.
Может кто-нибудь объяснить, в чем цель использования этого кода ошибки?
Похоже, что это новое дополнение - смотрите примечание, которое говорит «Новое в 1.6», который даже еще не выпустили - так что, вероятно, это не полностью реализованы повсеместно. –
Это поле также представлено в 1.5. Похоже, вы правы, и это то, что можно использовать в будущей версии. – GreyZmeem