2010-08-07 42 views
6

Uygulamamı nedenNeden nesne alıyorum yinelenen bir hata değil mi?

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

aşağıdaki hatayı alıyorum ama ben kabuğundan yürüttüğünüzde bunu anlamadın mı?

Sadece forms.ModelForm

devraldığı benim formunda özel bir alan
custom_serving_size = forms.ChoiceField(
    ServingSize.objects.all(), 
    widget=forms.Select(attrs={'class':'ddl'}) 
) 

DÜZENLEME

Bu

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

hata ServingSize olur benim form sınıf olduğunu var .objects.all()

cevap

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

bu olmak zorunda

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

veya

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