2015-05-23 21 views
0

在我的Django表單中,我爲員工提供了一個ModelChoiceField,但是我想在「所有」員工的下拉菜單中進行選擇。什麼是實現這一目標的最佳方式?在Django的查詢集中添加一個值

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

首先attemptI試圖

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

但我得到一個 '太多的對象,以解包' 的錯誤

感謝

+0

您確定不需要ModelMultipleChoiceField嗎? – Kenzo

回答

2

試試這個:

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

太多的對象解壓錯誤引發,因爲chioces的每一個細胞都只能包含以下兩個類似值:

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

Employees.objects.values()拆包所有字段字典形式。