Eclipse/Pydevを使用して、djangoでフォーム検証の全プロセスを進めようとしています。私は全く予想外の結果を得ています。Pydevコンソール:変数値をチェックすると、コードが予期せず実行されているようです。
parent_form = form_class(request.POST, initial=initial)
debug_type = type(parent_form._errors)
msg = _('created successfully') # <------- Set breakpoint here
ここでは、コンソールでの取り組みについて説明します。
debug_type
<type 'NoneType'>
type(parent_form._errors)
<class 'django.forms.util.ErrorDict'>
2つの値が異なる理由はわかりません。最初の値は「正しい」ものでなければなりません。
djangoソースには、parent_form.errorsという名前のものが存在します(エラーの前にアンダースコアがないことに注意してください)。これはparent_formのプロパティです。そのプロパティを取得すると、_errorsがNoneからErrorDictになるようなコードが実行されます。しかし、私はではない parent_form.errorsを取得、私はparent_form._errorsを求めています。
PyDevがparent_form.errorsを要求せずに評価することは可能でしょうか?もしそうなら、なぜですか?そして、なぜ私はこの静かな評価を得ることができないのですか?getterの中でbreak_pointをparent_form.errorsに設定していますか?