我有一个简单的模型形式,对此我添加了一个简单的复选框不能改变字段值: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