我试图在视图中动态设置选择字段的初始值。但它不起作用,不确定是什么问题:
views.py
...
form = FormEditGroup(initial={
'choices_a': group.get_a(),
'choices_i': group.get_i(),
})
get_a()
是一种返回" open"的模型方法。或者"关闭",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),
没有将初始值设置为get_a()
或get_i()
返回。
答案 0 :(得分:2)
您应该将initial
字典中的表单字段名称作为键传递。
如果给出此参数,则应该是字典映射字段名称 初始值。
更改您的'choices_a'
和'choices_i'
密钥,分别形成字段名称a
和i
。
请尝试以下代码:
form = FormEditGroup(initial={
'a': group.get_a(), # initial value for 'a'
'i': group.get_i(), # initial value for 'i'
})