2017-08-09 6 views
0

これは誰にとっても分かりやすい質問ですが、私は「クリーン」という用語の意味を理解していません。私はclean_dataを使用することができ、自分のフォームでフォーム検証を使用します。しかし、私はまだこれが何を意味するのか理解していません。Djangoでクリーンな意味は何ですか?

バリデーションを使用するには、常に「クリーン」というキーワードを使用する必要がありますか?

+0

のダーティデータを妨げていますか?または 'clean()'? –

+0

単語自体がdjangoで「クリーン」で、それは何を指していますか?なぜ彼らはそれを清潔と呼ぶのですか? – Anthony

+0

データを消去して検証しているためです。フォームに主キーフィールドがあり、データベースのモデルのIDを送信すると、それを「クリーンアップ」してモデルインスタンスに変換します。 –

答えて

2

)フィールドのサブクラスにdocumentation

クリーン()メソッドで述べ to_pythonを(実行する責任があるように、(検証)、および正しい順序でrun_validators()と そのエラーを伝播。メソッドのいずれかがいつでも ValidationErrorを呼び出すと、検証が停止し、そのエラーが発生します。この メソッドはクリーンなデータを返し、フォームのcleaned_data辞書 に挿入されます。

クリーンは、あなたが `clean_ ()`について話しているDB

+1

答えに例を追加するといいでしょう。「名前」フィールドを持つProductモデルがあり、そのフィールドをすべて小文字にする必要がある形式で一意である必要があり、末尾の空白を削除する必要があるとしますユーザーが '名前'をすべて小文字で入力し、最初の大文字の '名前'を入力すると、両方の入力が同じように扱われ、フォームは適切に例外を呼び出すことができます(両方の名前が同じです)ので、前者は有効な入力として受け入れられません製品の別の名前を入力する必要があります)。 –

関連する問題