22

ブール値をTrueまたはに設定することに基づいて条件付きで必要とされるフィールドが欲しいのですがFalse

がに設定されてrequired =Trueいる場合、何を設定に戻す必要がありますか?is_companyTrue

class SignupFormExtra(SignupForm):
    is_company = fields.BooleanField(label=(u"Is company?"), 
                                     required=False)
    NIP = forms.PLNIPField(label=(u'NIP'), required=False)

    def clean(self):
        if self.cleaned_data.get('is_company', True):
            return ...?
        else:
            pass
4

1 に答える 1

38

ドキュメントの相互に依存するフィールドのクリーニングと検証に関する章を確認してください。

ドキュメントに記載されている例は、シナリオに簡単に適合させることができます。

def clean(self):
    cleaned_data = super(SignupFormExtra, self).clean()
    is_company = cleaned_data.get("is_company")
    nip = cleaned_data.get("NIP")
    if is_company and not nip:
        raise forms.ValidationError("NIP is a required field.")
    return cleaned_data
于 2012-06-10T10:19:41.723 に答える