: 我有一个声明的模型字段:
a = models.CharField(choices= (('a','a'),('b','b'))
在ModelForm中,我尝试覆盖以下选择:
class ModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['a'].choices = [('a', 'a'), ('b', 'b'), ('d', 'd')]
表单正确呈现(添加了选项“ d”),但是在提交表单时返回错误
Select a valid choice. d is not one of the available choices.
无论我做什么,都无济于事。我在做什么错了?
答案 0 :(得分:1)
从模型中删除choices
选项。如果您随后允许用户选择更多选项,则限制选择的范围是没有意义的。
就像
a = models.CharField()