2011-09-18 13 views
1

をフィールドのフィールドまたはグループのためのユニークな値を確保するために、私はのModelFormを使用していると私は、デフォルトの検証とエラーとうれしいです。 私のテンプレートで私は単純なものを使用します: {{ form.as_ul }}{% if form.errors %}ブロック。ジャンゴ:どのように記録/形で

モデルは、とりわけ、これらのフィールドが含まれています。各ユーザーは、グループごとに二度同じ願い事をすることは許されない

group1_wish1 = models.CharField(max_length=100, choices=GROUP1CHOICES) 
group1_wish2 = models.CharField(max_length=100, choices=GROUP1CHOICES) 
group2_wish1 .... 
group2_wish2 .... 

:!group_wish1 = group_wish2。

私はこれを達成聞かせたモデルの検証オプションはありますか?

私はuniqueを見てきましたが、それはテーブルレベルで動作します。

任意のアイデアどのように私はそれだけで可能な限りだろうか?あなたのModelForm(forms.py)の定義方法 -

答えて

0

最も簡単な方法は、フォームのクリーンを()をオーバーライドする必要があります。
Cleaning and validating fields that depend on each other
ModelForms: Overriding the clean()-method

+0

ありがとう:

は、Djangoのドキュメントを参照してください!作品の魅力のように、私が思ったよりも簡単だった: 'クラスMyModifiedModelForm(MyModelForm): \tデフクリーン(自己): \t \t cleaned_data = self.cleaned_data \t \t g1w1 = cleaned_data.get( 'group1_wish1') \t \t g1w2 = cleaned_data.get( 'group1_wish2') \t \t g1w1 == g1w2場合: \t \t \t上げforms.ValidationError( 'ウィッシュ1及び2は、切り抜いたなければなりません') ' –

関連する問題