2010-08-07 58 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'}) 
) 
相关问题