Django のドキュメントhttps://docs.djangoproject.com/en/dev/ref/forms/validation/#raising-validationerrorでは、ValidationError 例外を発生させながらエラー コードを生成することをお勧めします。
# Good
ValidationError(_('Invalid value'), code='invalid')
# Bad
ValidationError(_('Invalid value'))
アプリケーションに API があり、フォームを使用して入力データを検証しています。
フォームが有効でない場合、これらのエラー コード (エラー メッセージではない) を取得したいと考えています。
そこで、BaseForm の _clean_fields メソッドのソースコードを見てみました:
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
) はどこにも渡されず、フォームの検証後に取得できません。
誰かがこのエラーコードを使用する目的を説明できますか?