1

このようなDjangoフォームに10個のフィールドがあります

class SearchForm(forms.Form):
    student_number                 = forms.CharField(required=False)
    final_date                      = forms.DateField(required=False)
    location_area                   = forms.FloatField(required=False)

私のform.is_valid()ような検証からいくつかのフィールドを除外したい

[location_area, final_date]残りはすべて検証を実行するか、検証したくないだけcharfieldsですselect fields

どうやってやるの?

4

2 に答える 2

2

フォームのMetaクラスでは、フィールドを除外できます:

class SearchForm(forms.Form):
    # form fields here
    class Meta:
        exclude = ('location_area', 'final_date',)

フォームからフィールドを除外したくないが、それらを検証したくない場合は、何もしないフォームのカスタム フィールド clean メソッドを記述します。

class SearchForm(forms.Form):
    # form fields here

    def clean_location_area(self):
        location_area = self.cleaned_data['location_area']
        return location_area
于 2013-05-17T03:57:50.040 に答える