0
我想要驗證的包含一個可選的FK的一種形式:可選ForeignKey的
class Address(models.Model):
mandatory_field = models.CharField(max_length=100)
optional_field = models.CharField(max_length=20, blank=True, null=True)
class Show(models.Model):
name = models.CharField(max_length=100)
optional_address = models.ForeignKey(Address, blank=True, null=True)
class AddressForm(forms.ModelForm):
class Meta:
model = Address
class ShowForm(forms.ModelForm):
class Meta:
model = Show
在視圖形式,我想以執行這樣的驗證:
if request.method == 'POST':
form = ShowForm(request.POST)
if form.is_valid():
do anything...
但我不知道如何驗證AddressForm。如果填寫了至少一個地址字段,則應該進行驗證。由於AddressForm有一個必填字段,因此我無法每次驗證它。
您是否有想過在展示表單的驗證中包含驗證地址?
謝謝 朱利安
謝謝TigorC的回答。實際上我想驗證ShowForm中的AddressForm。爲此,只有在填入了mandatory_field或optional_field的情況下,我才需要檢查AddressForm。然後,我想通過只執行一個form.save()來保存地址和顯示。我認爲這可以通過重寫驗證方法和保存方法來處理,但我不確定處理這種情況的最佳方式。 – Julio 2013-04-08 06:53:29