2011-02-03 4 views
0

Я пытаюсь показать ModelMultipleChoiceFields как CheckboxSelectMultiple. Сейчас он отображает флажки, но с объектами. Я хотел бы показать описание объекта, чтобы пользователь знал, что он выбирает.Django: описание отображения ModelMultipleChoiceField vs object

Как перебирать пищевые продукты, чтобы вытащить эти данные? Это то, что я пытался до сих пор, но это бросает TemplateSyntaxError «Caught AttributeError при визуализации:„генератор“объект не имеет атрибута„все“».

foodstyles = forms.ModelMultipleChoiceField(
    label=_("Types of food you like"), 
    widget=forms.CheckboxSelectMultiple, queryset=FoodStyle.objects.all(), 
    required=True) 

def __init__(self, *args, **kwargs): 
    super(ProfileForm, self).__init__(*args, **kwargs) 

    foodstyles = FoodStyle.objects.all() 
    self.fields['foodstyles'].queryset = (
     (r.description) for r in foodstyles) 

ответ

3

Это звучит для меня, как вам нужно реализовать Юникода (self) на вашем объекте Model и вернуть любую строку, которую вы хотите отобразить в форме.