これはカスタムモデル検証を作成する唯一の方法ですか?フォームを使ってそれをするには?フォーム以外の方法でデータベースにデータを送信したいのですが?Djangoモデルの検証はフォームAPIだけで処理されますか?
8
A
答えて
9
現在、Djangoはモデルレベルの検証(基本的な "NOT NULL"、 "UNIQUE"および長さ検証のほかに)は提供していません。これはTODOリストにありますが、今後の1.1リリースには当てはまりません。
モデルのsave()
メソッドで検証関連のタスクを実行するか、before_save
信号を使用します(シグナルハンドラで例外が発生すると、トランザクションがロールバックされます)。
1
一般的には、field typesとそのオプションまたはmodel's meta optionsに組み込むことで、必要なものを処理できるはずです。検証/衛生を行うにはoverride the save methodもできます。十分でない場合は、独自のfield typeを作成することができます。
問題は、期待される動作が良好でないことです。何が起こるはずですか?例外を発生する必要がありますか?フィールドは実際にはデータベースレベルで抽象化されているだけなので、そこにはデータベースが知る必要がある情報より多くの情報はありません。
5
モデル検証はDjangoバージョン1.2ですぐに利用可能になります。あなたがトランクの現在のDjango svnチェックアウトを使用している場合は、今すぐが利用可能です。
さまざまなclean
メソッドが利用可能になりました。詳細は、http://docs.djangoproject.com/en/dev/ref/models/instances/#id1を参照してください。
関連する問題
- 1. Django:フォーム処理エラー。別のモデルに関連付けられたフォームの処理
- 2. Djangoフォーム検証モデルの選択
- 3. ASP.NET MVC 2モデル検証でプロパティバッグを処理できますか?
- 4. モデルと管理者のDjangoフィールド検証?
- 5. JPAモデルの検証とトランザクション処理
- 6. ErrorHandlerのフォーム検証結果の処理
- 7. 検証Djangoの管理親フォームとインラインデータ
- 8. Railsモデルでビューの検証エラーを処理する方法は?
- 9. djangoのフォーム検証
- 10. jquery-form-validator.js:フォーム入力は検証されますが、フォーム自体は検証に失敗します。フォーム内の入力は1つだけです
- 11. 管理パネルでのDjango管理フォームの検証
- 12. django - max_lengthフォームの検証時にWindowsの行末を処理する
- 13. Djangoでのフォーム入力とモデル検証の分離?
- 14. spring mvc検証例外はControllerAdviceで処理されません
- 15. シェルでDjangoモデルの検証は行われません
- 16. Djangoフォームのエラー処理アーキテクチャ
- 17. Django複数のフォーム処理
- 18. jQueryフォーム検証は一度だけ発行します
- 19. Djangoのモデル管理者は、フォーム
- 20. Django:クライアント側のフォーム検証?
- 21. Djangoフォームの検証競合
- 22. フォーム検証エラーのDjango "autofocus"
- 23. Djangoのフォーム検証が
- 24. Djangoフォームのフィールド検証
- 25. Django:モデル検証エラーManytoManyField
- 26. テンプレート内でのdjangoモデルの検証エラー
- 27. 遠隔関連モデルに基づくDjangoフォームの検証
- 28. モデルの検証エラーを正しく処理する
- 29. フォーム検証のテストケースがdjangoで実行されていない
- 30. DjangoのAPIからのPDFレスポンスを処理してください