В документации по Django https://docs.djangoproject.com/en/dev/ref/forms/validation/#raising-validationerror говорится, что хорошей практикой является создание кода ошибки при создании исключения 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
) не передается нигде и не может быть получен после проверки формы.
Может кто-нибудь объяснить, в чем цель использования этого кода ошибки?