Jul*_*an 0 python django django-models django-forms
每当我运行 form.is_valid() 时,我都会收到错误:
选择一个有效的选择。该选择不是可用的选择之一。
我认为这是我所做的:
timeframes = HostTimeFrame.objects.all()
if request.method == 'POST':
form = SelectDatesForm(request.POST, timeframes=timeframes)
if form.is_valid():
pass
else:
form = SelectDatesForm(timeframes=timeframes)
Run Code Online (Sandbox Code Playgroud)
我的表格是这样做的:
class SelectDatesForm(forms.Form):
timeframes = forms.ModelChoiceField(queryset=HostTimeFrame.objects.none(), widget=forms.CheckboxSelectMultiple,
empty_label=None)
def __init__(self, *args, **kwargs):
qs = kwargs.pop('timeframes')
super(SelectDatesForm, self).__init__(*args, **kwargs)
self.fields['timeframes'].queryset = qs.order_by('start')
Run Code Online (Sandbox Code Playgroud)
我花了几个小时试图找到这个实际验证是在哪里完成的,我找到了它,在这里创建了一个错误。
根据文档,ModelChoiceField 其默认小部件是Select doc
如果您想选择多个值,则必须使用ModelMultipleChoiceField , 如下所示:
timeframes = forms.ModelMultipleChoiceField(queryset=HostTimeFrame.objects.none(), widget=forms.CheckboxSelectMultiple,empty_label=None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |