2010-08-07 23 views
6

爲什麼我得到下面的錯誤在我的應用程序爲什麼我得到一個對象不是可迭代錯誤?

Caught TypeError while rendering: 'ModelNameHere' object is not iterable 

,但我不明白這一點,當我從shell中執行呢?

我只是在我的表單自定義字段從forms.ModelForm

繼承
custom_serving_size = forms.ChoiceField(
    ServingSize.objects.all(), 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 

編輯

這是我的表單類上ServingSize發生

class RecipeIngredientForm(forms.ModelForm): 
    serving_size = forms.ChoiceField(choices=ServingSize.objects.all()) 

錯誤.objects.all()

回答

11
custom_serving_size = forms.ChoiceField(
    ServingSize.objects.all(), 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 

這必須是

custom_serving_size = forms.ModelChoiceField(
    queryset=ServingSize.objects.all(), 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 

custom_serving_size = forms.ChoiceField(
    choices=[(obj.id, `text user sees`) for obj in ServingSize.objects.all()], 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 
相關問題