繁体   English   中英

Django Form ChoiceField 在表单初始视图中设置选项

[英]Django Form ChoiceField set choices in View in Form initial

这是表格

class Form(Models.Form):
    title = forms.ChoiceField()

我需要根据我在查询集中得到的内容在标题字段中设置选择值,怎么做?

def func(request):
    titles = Titel.objects.all() 
    form = Form(initial={ "title": "???titles???"})
    return render('template.html', locals())
form = Form()
form.fields['title'].choices = [(title.title, title.title) for title in titles]
form.fields['title'].initial = titles[0].title  # by default first will be selected

所以它会返回包含像这样的元组的列表

[('title1', 'title1'), (title2, title2), ... , ('title(n)', 'title(n)'),]

对于您的下拉列表,您将拥有这种选择选项

<option value="title1">title1</option>

您应该在form.ModelChoiceField() 中使用empty_label参数

title = forms.ModelChoiceField(queryset=.... , empty_label="YOUR_DEFAULT_TITLE")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM