select field
私はかなりの数のことを試しましたが、Djangoにどのようにデータを入力できるかまだわかりません。次の例では、属性を持つ選択フィールドを持つ辞書を追加し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) }
Unfortunately, it doesn't work. Am I missing something?.