在 Django 中向查询集添加值

Adding a value to a queryset in Django

在我的 Django 表单中,我有一个供员工使用的 ModelChoiceField,但我想在 'all' 名员工的下拉列表中进行选择。实现此目标的最佳方法是什么?

employees = forms.ModelChoiceField(queryset=Employees.objects.all())

第一次尝试我试过了

employees = forms.ChoiceField(choices = Employees.objects.values())

但我收到 'too many objects to unpack' 错误

谢谢

试试这个:

employees = forms.ChoiceField(choices = [(emp['id'], emp['full_name']) 
            for emp in Employees.objects.values('id', 'full_name')])

要解压的对象太多 出现错误是因为选择的每个单元格只能包含两个类似于以下的值:

[(1, 'Eric Manson'), (2, 'Julia Rose'), (3, 'Saadi Khorshid'), ...]

但是Employees.objects.values()解压字典形式的所有字段。