Django自动选择MultipleChoiceField中的空值

3

我在Django 1.11中有一个MultipleChoiceField,但它会自动选择渲染输出中的空值,这是不希望的。 (u'', '(no extra)')在加载时不应自动选择。

choices = [(u'', '(no extra)'), (u'cheese', u'Cheese'), (u'Pepper', u'Pepper')]
extra_topics = forms.MultipleChoiceField(required=False, choices=choices)

有没有任何标志可以防止这种情况发生?


2
我认为你需要更改空字符串(u'', '(no extra)'),以防止自动选择。也许使用(u'no-extra', '(no extra)')或者干脆不使用它? - Todor
是的,这将是处理它的另一种方式。 - Azd325
1
看着这个code,我没有看到其他的解决方法。 - Todor
我明白了。也许在使用subvalue进行检查之前,先检查一下是否已经返回了一个value会更好。 - Azd325
2个回答

1
你可以将初始值设置为任何你想要的值,例如:
extra_topics = forms.MultipleChoiceField(required=False, 
      choices=choices, 
      initial={'not empty': 'not empty'})

希望我没有误解你的问题,祝好运。

我尝试着让“不自动选择额外选项”在加载时不被自动选中。 - Azd325
该字段最初显示什么? - Harry MW
选择了所有三个值并且没有额外的选项:https://github.com/django/django/blob/2.0.3/django/forms/widgets.py#L601。这就是原因。 - Azd325


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接