Django分配BoundField值

时间:2012-02-29 04:13:34

标签: python django

我知道我们可以通过这种方式访问​​表单BoundField值

form = ItemFormAdmin
value = form['somekey'].value()

但是如何为boundfield分配值呢?我试过这种方式

form = ItemFormAdmin
form['somekey'] = value

但它说'ItemForm' object does not support item assignment

1 个答案:

答案 0 :(得分:3)

BoundField分配价值没有意义。表单已提交,用户不会看到您的价值。

如果要在cleaned_data中显示字段值之前更改字段值,请覆盖somekey_cleanclean方法。

如果您想设置初始值(在提交表单之前输入的内容),请使用此(在表单的__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