[英]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.