我想将我的django表单中某些字段的值重置为None
,位于表单的__init__
方法内。
这是我到目前为止所做的:
class MyFormForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ['field1', ...]
field1 = forms.IntegerField(max_value=100)
def __init__(self, *args, **kwargs):
values_changed = kwargs.pop('values_changed', False)
super(MyFormForm, self).__init__(*args, **kwargs)
self.data = self.data.copy()
if not values_changed:
for field in self.fields:
self.data[field] = None
不幸的是,当表单显示在我的模板中时,已经POST的值仍在其中。如何删除该值,以便更改在模板中生效,该模板呈现表单?
不能工作的事情:
cleaned_data
不存在我正在访问这样的值:
{{ form.field1.value|default_if_none:"Please enter." }}
编辑:我刚试过
{{ form.data.field1|default_if_none:"Please enter." }}
没有变化。
答案 0 :(得分:1)
form
和form_2
。
我使用了错误的变量名称。我的错。它与上面的代码一样工作。