尽管表单有效,但ModelChoicesField返回Non-Valid-Choice错误

时间:2018-07-10 08:48:50

标签: python django modelchoicefield

如果具有日期选择器表单,该表单可以过滤一组模型(Sonde)并填充ModelChoicesField。就应用程序中的日期选择而言,这可以正常工作,但是在画布上,我不断收到错误消息:

选择一个有效的选择。该选择不是可用的选择之一。

我进行了初始化,以筛选可用的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'])

1 个答案:

答案 0 :(得分:0)

我不得不强迫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()