ModelChoicesField returns 无效选择错误,尽管表单有效
ModelChoicesField returns Non-Valid-Choice error, although form is valid
如果有一个日期选择器表单可以过滤一组模型 (Sonde) 并填充一个 ModelChoicesField。这在我的应用程序中的日期选择方面工作正常,但在我的 canvas 上我经常收到错误:
Select 一个有效的选择。该选项不是可用选项之一。
我执行初始化,以过滤 Sonde 的可用实例并填充 ModelChoiceField 的选项。
来自我的forms.py
class date_choice(forms.Form):
avSonden = forms.ModelChoiceField(queryset = Sonde.objects.none())
def __init__(self, *args, **kwargs):
currentUserID = kwargs.pop('currentUserID', None)
super(date_choice, self).__init__(*args, **kwargs)
if currentUserID:
self.fields['avSonden'].queryset = Sonde.objects.filter(owned_by__Kundennummer = currentUserID).values_list("Serial",flat=True).distinct()
start = forms.DateField(input_formats=['%Y-%m-%d'])
end = forms.DateField(input_formats=['%Y-%m-%d'])
我不得不强制 clean() 忽略我从 PK 到其他标识符的更改:
def clean_status(self):
#valid if a value has been selected
if self["avSonden"].value()!="":
del self._errors["avSonden"]
return self["avSonden"].value()
如果有一个日期选择器表单可以过滤一组模型 (Sonde) 并填充一个 ModelChoicesField。这在我的应用程序中的日期选择方面工作正常,但在我的 canvas 上我经常收到错误:
Select 一个有效的选择。该选项不是可用选项之一。
我执行初始化,以过滤 Sonde 的可用实例并填充 ModelChoiceField 的选项。
来自我的forms.py
class date_choice(forms.Form):
avSonden = forms.ModelChoiceField(queryset = Sonde.objects.none())
def __init__(self, *args, **kwargs):
currentUserID = kwargs.pop('currentUserID', None)
super(date_choice, self).__init__(*args, **kwargs)
if currentUserID:
self.fields['avSonden'].queryset = Sonde.objects.filter(owned_by__Kundennummer = currentUserID).values_list("Serial",flat=True).distinct()
start = forms.DateField(input_formats=['%Y-%m-%d'])
end = forms.DateField(input_formats=['%Y-%m-%d'])
我不得不强制 clean() 忽略我从 PK 到其他标识符的更改:
def clean_status(self):
#valid if a value has been selected
if self["avSonden"].value()!="":
del self._errors["avSonden"]
return self["avSonden"].value()