2010-08-07 42 views
6

Tại sao tôi nhận được lỗi sau đây trong ứng dụng của tôiTại sao tôi nhận được một đối tượng không phải là lỗi lặp lại?

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

nhưng tôi không nhận được nó khi tôi thực hiện nó từ vỏ?

tôi chỉ có một lĩnh vực tùy chỉnh trong hình thức của tôi mà được thừa hưởng từ forms.ModelForm

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

EDIT

này được lớp mẫu tôi

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

Các lỗi xảy ra trên ServingSize .objects.all()

Trả lời

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

này phải được

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

hoặc

custom_serving_size = forms.ChoiceField(
    choices=[(obj.id, `text user sees`) for obj in ServingSize.objects.all()], 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 
Các vấn đề liên quan