我已经尝试了很多东西,但我仍然不知道如何select field
在 Django 中填充 a 。以下示例添加了一个带有name='tags'
属性的选择字段的字典。
data = {}
for tag in tags:
data['tags'] = tag.name
form = Form(initial=data)
正如预期的那样,循环正在覆盖键“标签”,因此它只优先于最后一个值(实际上,表单显示了最后一个值)。我预计也许通过一个列表会起作用:
data = {}
l = []
for tag in tags:
l.append(tag.name)
data['tags'] = l
form = Form(initial=data)
但在这种情况下,它只是行不通。
可以想象,我正在使用与此类似的表单:
class NewTopicForm(forms.Form):
... some fields
tags = ChoiceField(
widget=forms.Select(),
choices=SOME_CHOICES
)
当我需要添加多个值时,使用选择字段填充表单的正确方法是什么?
谢谢!
更新:
我根据这篇文章尝试了以下操作:
data = {'tags': tags.values_list('name',flat=True) }
不幸的是,它不起作用。我错过了什么吗?