2015-03-30 75 views
0

我有一個模型表單,我試圖刪除名爲字段,但我不能。django模型表單多選更改或刪除字段

這裏是代碼:

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

我想刪除「名」之上,這來自於MyForm的代碼,但我不知道如何刪除它。

如果我想將其更改爲另一個字符串,例如「請選擇名稱:」,該怎麼做?

+0

我找到了解決辦法。在表格中使用標籤='' – Hunter1010 2015-03-30 23:01:09

回答

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

+0

非常感謝! – Hunter1010 2015-03-31 05:50:02

+0

如果這個答案是有幫助的..不要忘記接受它作爲一個答案:-) – mishbah 2015-03-31 19:45:36