我正在根据模型的数据定义一个 ChoiceField。
field = forms.ChoiceField(choices=[[r.id, r.name] for r in Model.objects.all()])
但是,我想在我的选项前面加上一个空选项来选择“否”对象。但是我找不到一个很好的方法来添加它。
我所有的测试都像:
field = forms.ChoiceField(choices=[[0, '----------']].extend([[r.id, r.name] for r in Model.objects.all()]))
返回“NoneType object not iterable”错误。到目前为止,我发现的唯一方法是:
def append_empty(choices):
ret = [[0, '----------']]
for c in choices:
ret.append(c)
return ret
当我定义我的领域时:
forms.ChoiceField(choices=append_empty([[r.id, r.name] for r in
Restaurant.objects.all()]), required=False)
但是我想保持我的代码干净并且没有那种恐怖。你能给我一个主意吗?:p 提前谢谢。