为什么我得到一个对象不是可迭代的错误?

iJK*_*iJK 6 django

为什么我的应用程序中出现以下错误

Caught TypeError while rendering: 'ModelNameHere' object is not iterable
Run Code Online (Sandbox Code Playgroud)

但是当我从shell执行它时,我不明白它?

我的表单中只有一个自定义字段,它继承自forms.ModelForm

custom_serving_size = forms.ChoiceField(
    ServingSize.objects.all(),
    widget=forms.Select(attrs={'class':'ddl'})
)
Run Code Online (Sandbox Code Playgroud)

编辑

这是我的表格类

class RecipeIngredientForm(forms.ModelForm):
    serving_size = forms.ChoiceField(choices=ServingSize.objects.all())
Run Code Online (Sandbox Code Playgroud)

ServingSize.objects.all()上发生错误

Ash*_*hok 11

custom_serving_size = forms.ChoiceField(
    ServingSize.objects.all(),
    widget=forms.Select(attrs={'class':'ddl'})
)
Run Code Online (Sandbox Code Playgroud)

这必须是

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

要么

custom_serving_size = forms.ChoiceField(
    choices=[(obj.id, `text user sees`) for obj in ServingSize.objects.all()],
    widget=forms.Select(attrs={'class':'ddl'})
)
Run Code Online (Sandbox Code Playgroud)