我覆盖了表单的__init__
方法。
我可以通过执行以下操作来设置初始值:
self.fields['fieldname'].initial = ....
但鉴于它受到约束,调用上述内容无效。 我试过这样做:
self.fields['fieldname'].bound_data = ....
但这不起作用。 有没有办法做到这一点?
答案 0 :(得分:12)
您可以更新表单的data
字典
self.data['fieldname'] = new_value
bound_data
是一种方法,而不是属性,因此您无法在那里设置值。
request.GET
,否则 request.POST
和copy()
是不可变的。您可以使用__init__
方法或绑定表单之前进行复制。
data = request.POST.copy()
form = MyForm(data=data)