2012-09-04 89 views
0

這是我的django框架的模型代碼。正如你可以看到我從數據庫中檢索值並通過列表框顯示。django選擇框

這工作得很好,但在列表框中只顯示值。我需要在列表框中添加一個單詞,如「select」。

date_value_list = MeasurementTest.objects.values_list('start_date',flat = True).distinct() 
date1 = forms.ModelMultipleChoiceField(queryset = date_value_list, widget = forms.Select, required = True) 

我實際上試圖在上面的選擇框中添加一個標籤或help_text。但它似乎不工作。

date1 = forms.ModelMultipleChoiceField(queryset = date_value_list, widget = forms.Select, required = True,help_text="select",label = "select") 

上述代碼似乎不起作用。任何人都可以請幫助嗎?

回答

0

從FormField中刪除required=True。 並添加empty_label="Select"

類似的帖子你的問題Click here

0

我認爲你正在尋找empty_label

# A custom empty label 
field1 = forms.ModelChoiceField(queryset=..., empty_label="Select value") 

# No empty label 
field2 = forms.ModelChoiceField(queryset=..., empty_label=None) 
+0

@ashan實際上它似乎並不爲我的具體情況的工作。因爲我使用ModelMultipleChoiceField。 – sankar

+0

@sankar正如你在標題中提到的那樣,你需要在列表框或選擇中選擇,然後你爲什麼要使用'ModelMultipleChoiceField'? – Ahsan

0

有兩種可能的原因。

  • 如果在您的形式

  • 設置字段required=True如果您在MeasurementTest模型

設置模型字段blank=False在這兩種情況下,Django會意識到這是即使您已指定,也不會添加empty_label(因爲該字段不能爲空)。

請注意,如果需要ModelChoiceField並且具有默認初始值,則不會創建空的選擇(不管empty_label的值如何)。

Empty label definition