我已经看过这里的问题,但似乎没有一个能帮助我。基本上我正在做的是调用getAllOpenChoices
尝试返回单选按钮的值,这样当选择一个时它会保存。
forms.py
def getAllOpenChoices():
listOpenChoice = [('All', 'All'), ('No One', 'No One'), ('Test','Test')]
all_choices = Requisition.objects.distinct()
for choices in all_choices:
temp = (Requisition.objects.filter(open_to=choices))
listOpenChoice.append(temp)
return tuple(listOpenChoice)
我得到的错误是:
ValueError: need more than 0 values to unpack
正在调用 getAllOpenChoices
:
self.fields['open_to'] = forms.ChoiceField( choices = getAllOpenChoices, widget = forms.RadioSelect())
答案 0 :(得分:0)
选项应该是2元组的列表,就像您的初始值listOpenChoice
listOpenChoice = [('All', 'All'), ('No One', 'No One'), ('Test','Test')]`
如果扩展该列表,则只应添加2元组。例如:
listOpenChoice.append(('new', 'New'))
但是,您要附加查询集,例如Requisition.objects.filter(open_to=choices)
。这没有意义。你的一个查询集是空的,这就是为什么你在错误消息中得到零"需要超过0的值才能解包"。
我不清楚您尝试添加到列表中的内容,因此我无法告诉您如何修复代码。只要你只附加2元组,你应该没问题。