1

私はDjangoのModelFormsを使用しており、モデルとフォームの両方で検証したいと考えています。ModelForm検証を行う適切な場所は何ですか?

{{ form.as_table }} 

(フォームのようにフィールドごとに検証を置くための適切な場所は何である(cleanclean_fieldname)は、全体としての形のような):私が使用してフォームをレンダリングしていますか?

私は書かれたコードの量を最小限に抑え、同じバリデータを2回書いてはいけません(両方のモデルとフォームで)。また、私はフィールドごとの検証エラーを適切なフォームフィールドに表示し、フォームの上にすべてのエラーを配置しないようにしたいと思います。

答えて

3

Django 1.2で導入されたカスタムvalidatorsを使用すると便利です。

ModelFormを使用している場合を除き、モデルインスタンスのfull_clean()メソッドを呼び出すことで、モデル検証を明示的に実行する必要があることを忘れないでください。

関連する問題