我知道我们可以通过这种方式访问表单BoundField值
form = ItemFormAdmin
value = form['somekey'].value()
但是如何为boundfield分配值呢?我试过这种方式
form = ItemFormAdmin
form['somekey'] = value
但它说'ItemForm' object does not support item assignment
答案 0 :(得分:3)
向BoundField
分配价值没有意义。表单已提交,用户不会看到您的价值。
如果要在cleaned_data
中显示字段值之前更改字段值,请覆盖somekey_clean
或clean
方法。
如果您想设置初始值(在提交表单之前输入的内容),请使用此(在表单的__init__
中)
form.fields['somekey'].initial = value
编辑1
class MyForm(forms.Form):
# ...
def clean(self):
cleaned_data = super(MyForm, self).clean()
# get "some info from the form"
part1 = cleaned_data.get('part1_field', '')
part2 = cleaned_data.get('part2_field', '')
# "manipulate it to fill another filed"
cleaned_data['another_field'] = part1 + part2
return cleaned_data