2011-09-06 51 views
0

我想更改字段的默认empty_label的值。 所以我做了这样的事情与我的领域:Django。 Empty_label自定义值

class RFXDigestModelForm(ModelForm): 
    Time_frame_is_realistic = ModelChoiceField(
     queryset=models.RFXDigest.objects.all(), 
     empty_label="(Nothing)", 
     ) 

    class Meta: 
     model = models.RFXDigest 
     widgets = { 
      'Time_frame_is_realistic': rfx_widgets.jQueryRadioSelect(), 
     } 

在结果我有我自己的empty_label标签。但是有一个问题:我的小部件没有出现在页面上,而是出现了django comboBox。 我该如何解决这个问题? 并且我可以不知何故将选项列表传递给queryset参数ModelChoiceField

回答

1

如果您手动定义字段,请勿使用widgets字典 - 将其放入字段声明中。

Time_frame_is_realistic = ModelChoiceField(queryset=models.RFXDigest.objects.all(), 
              empty_label="(Nothing)", 
              widget=rfx_widgets.jQueryRadioSelect()) 

我不明白你的第二个问题。如果您想要自定义选择列表,请使用正常的ChoiceField而不是ModelChoiceField。

+0

是的,我应该使用ChoiceField。在这种情况下,只需要在选项列表中增加一个值。但谢谢你的帮助。有用。 – sunprophit