0
假設這個模型形式:django - 如何基於表單數據本身刪除表單域?
class MyModel(models.Model):
sex = models.CharField(max_length=1, default='M')
field1 = models.CharField(max_length=20)
field2 = models.CharField(max_length=20
)
class MyForm(ModelForm):
class Meta:
model = MyModel
fields = ('sex', 'field1', 'field2')
的情況下很簡單 - 如果 '性' 是男,FIELD1應要求和Field2應該是空的。 如果'sex'是女性,field2應該被填充並且field1應該在表單中爲空。 在任何情況下,如果沒有設置其他字段,我想自己在服務器中設置它。手段 - 模型需要field1和field2。我只希望只有一個可以在表單中編輯。 我有條件地使用JavaScript在窗體本身中顯示它們,我如何在服務器中執行該操作?
我使用
self.fields.pop('field1')
形式.clean()
嘗試,但因爲它是在現場級
我把你的解決方案只需在字段中使用.disabled屬性,並自己設置字段值。這個技巧確實是以__init__的形式使用is_bound – user3599803