0
EnhancedModelForm()のサブクラスであるCustomerForm()を作成すると、フォームを__init__()
で初期化したときの変更(必須= True)は、デフォルトのクリーンメソッドでは考慮されません。どうしてこれなの?サブクラス化されたフォームで検証が中断するのはなぜですか?
class EnhancedModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(EnhancedModelForm, self).__init__(*args, **kwargs)
test = self.errors
、フォーム
class CustomerForm(EnhancedModelForm):
class Meta:
model = Customer
fields = ('salutation', 'first_name', 'last_name', 'phone_number', 'email_address')
def __init__(self, *args, **kwargs):
super(CustomerForm, self).__init__(*args, **kwargs)
self.fields['phone_number'].required = True
self.fields['email_address'].required = True
これは動作するはずです。問題を示すコードを表示できますか? –
あなたが正しいです、私はいくつかのテストを行いました、そして、私はそれらの変更されたフィールドのself.errors検証にアクセスしようとすると失敗します(上記の例を参照) –