在Django表单中的clean方法之后更改ChoiceField选项

时间:2013-09-17 17:29:36

标签: django django-forms django-1.4

在清理表单后有没有办法更改表单元素?

有些形式逻辑会受到其他字段的影响。在某些情况下,如果表单无效,我想在clean函数运行后向ChoiceField添加一个额外的选项。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

提交无效表单的用户应该获得额外选项吗?对我来说没有意义......但是,你可以随时改变表单领域中的可用选择:

def clean(self):
    self.fields['some_choice_field'].choices = [[1,'one'],[2, 'two'],[None, 'I refuse to answer']]