Django 德扬戈。动态选择字段的初始值

Django 德扬戈。动态选择字段的初始值,django,django-forms,Django,Django Forms,我试图在视图中动态设置选项字段的初始值。但它不起作用,不确定出了什么问题: views.py ... form = FormEditGroup(initial={ 'choices_a': group.get_a(), 'choices_i': group.get_i(), }) get_a()是一个返回“打开”或“关闭”的模型方法,get_i()返回“管理员”或“全部” forms.py class FormEditGr

我试图在视图中动态设置选项字段的初始值。但它不起作用,不确定出了什么问题:

views.py

...
form = FormEditGroup(initial={
            'choices_a': group.get_a(),
            'choices_i': group.get_i(),
            })
get_a()
是一个返回“打开”或“关闭”的模型方法,
get_i()
返回“管理员”或“全部”

forms.py

class FormEditGroup(forms.Form):
    choices_a = (("closed", "Closed"), ("open", "Open"))
    choices_i = (("all", "All"), ("admins", "Admins"))

    a = forms.ChoiceField(... choices=choices_a),
    i = forms.ChoiceField(... choices=choices_i),

它没有将初始值设置为what
get_a()
get_i()
返回值。

您应该将
initial
字典中的表单字段名作为键传递

从现在起

此参数(如果给定)应该是将字段名映射到的字典 初始值

更改
'choices\u a'
'choices\u i'
键,分别形成字段名
a
i

请尝试以下代码:

form = FormEditGroup(initial={
            'a': group.get_a(), # initial value for 'a'
            'i': group.get_i(),  # initial value for 'i'
            })