使用modelform时,在select中调整默认值

时间:2014-02-22 16:30:36

标签: python django

我有一个带有指向外键的元素的模型,这意味着它默认是一个modelmultiplechoice字段,但我在元类中更改了它,所以它使用了一个select字段,因为我想要一个包含指向的值的下拉列表外键(外键指向具有类别的表)。

这一切都很好,但在表单上显示的默认元素是“----”,我在这个页面阅读: https://docs.djangoproject.com/en/1.6/ref/forms/fields/#modelchoicefield我应该能够使用empty_label来更改它,以便获得最具描述性/更友好的用户值。我想将它更改为实际存在的值,但empty_label似乎不支持这一点,当使用带有modelform的外键时,我没有看到其他地方的功能让我这样做。

我尝试通过在modelform的元类中添加一个选项来实现它,如下所示:

'categoryID': Select(attrs={'class': 'form-control', 'empty_label': 'hello'})

我没有得到任何语法错误,但是选择框的默认值没有改变,为什么这不起作用的任何想法?

1 个答案:

答案 0 :(得分:1)

如果你想使用字段选项中的值,你不应该使用“empty_label” - 除了其他任何东西,它实际上是一个空值,所以当选择它时发送给服务器的值将只是“”。

相反,您应该在定义字段时或在实例化表单时提供initial参数。