我有一个模型表单,我试图删除名为name的字段,但我不能。
这是代码:
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ('name',)
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['name'] = forms.ModelChoiceField(widget=forms.CheckboxSelectMultiple, queryset=MyModel.objects.all(), empty_label=None)
模板非常简单:
{{form}}
在网页上,它看起来像:
名:
(复选框)ChoiceA
(复选框)ChoiceB
(复选框)ChoiceC
我想删除" name"上面,它来自MyForm中的代码,但我不知道如何删除它。
如果我想将其更改为另一个字符串,例如"请选择名称:",该怎么做?
答案 0 :(得分:1)
嗯,将标签设置为empty
字符串会起作用。理想情况下,您应该将这种逻辑放在模板中。在下面的这个例子中,我循环遍历表单字段并只显示字段输入。
{% for field in form %}
<div class="fieldWrapper">
{{ field }}
</div>
{% endfor %}
请参阅https://docs.djangoproject.com/en/1.7/topics/forms/#looping-over-the-form-s-fields