フォーム.py
class PhoneinfoForm(forms.ModelForm):
pname = forms.CharField(required=True)
pnumber = forms.IntegerField(required=True)
gname = forms.CharField(required=False)
gnumber = forms.IntegerField(required=False)
class Meta:
model = Phone_info
fields = ['pname','pnumber','gname','gnumber']
def clean(self):
cleaned_data = self.cleaned_data
pname = cleaned_data.get("pname")
pnumber = cleaned_data.get("pnumber")
gname = cleaned_data.get("gname")
gnumber = cleaned_data.get("gnumber")
if 'pname' and 'pnumber' not in cleaned_data:
raise forms.ValidationError
if 'gname' and 'gnumber' not in cleaned_data:
raise forms.ValidationError
return cleaned_data
名前と番号を検証しようとしています。私の場合、pname
andpnumber
は 1 つのセットで必須のフィールドであり、私が与えたものを達成しましたrequired=True
。
2番目のことは必須ではありませんが、gname
が入力された場合は空白になります(gnameに何も入力されていない場合は受け入れられます)、それは起こらないはずです。番号が入力された場合、名前なしでは受け入れられません。また、その逆も同様です。gnumber
gnumber
gname
私のコードは、これを検証する方法の 2 番目の選択肢では機能しません。
ありがとう