我有一個簡單的模型形式,對此我添加了一個簡單的複選框不能改變字段值:Django的模型形式乾淨()
class OrderForm(forms.ModelForm):
more_info = models.BooleanField(widget=forms.CheckboxInput())
def clean(self):
if 'more_info' not in self.cleaned_data:
self.instance.details = ""
class Meta:
model = Order
fields = ('details', 'address', ) # more fields
但是,這並不工作,並在「細節」領域是即使未選中複選框(並執行調試if
塊),仍會按用戶值進行更新。我也嘗試更換self.cleaned_data['details']
而不是self.instance.details
,但它也不起作用。
這並不重要,因爲在客戶端,我有一個簡單的javascript代碼,如果選中複選框,它將隱藏/顯示詳細信息字段。
然後由於某種原因,你的代碼不適合我 – user3599803