2011-01-29 5 views
0

Я пытаюсь отобразить данные с ModelMultipleChoiceField и попытался выполнить итерацию для объектов, но получаю фанковые результаты. Спасибо за помощь!Django ModelMultipleChoiceField: Итерация через данные

{{ chef.meal }} 

Оказывает

[<Meal: Breakfast>, <Meal: Brunch>] 

-

{% for i in chef.meal%} {{i}} {% endfor %} 

Оказывает

[ < M e a l : B r e a k f a s t > , < M e a l : B r u n c h > ] 

Вот как я ModelMultipleChoiceField установить:

meal = forms.ModelMultipleChoiceField(
     label=_("What is your best meal?"), 
     queryset=Meal.objects.all(), 
             required=True) 

И модель питания:

class Meal(models.Model): 
    name = models.CharField(max_length=10) 

    def __unicode__(self): 
    return "%s" % self.name 

HttpResponse:

data = {"profile":profile, 
      "chef":chef} 
    return render_to_response(template_name, 
          data, 
          context_instance=RequestContext(request)) 

Я передаю 'повара' до шаблона, а затем вытащил еду из объекта шеф-повара.

+0

Как вы отправляете свои предметы для еды в свой шаблон? Отправьте строку HttpResponse или render_to_response lin из вашего кода. – Neo

+0

Добавил это выше. Я тяну еду от модели шеф-повара – Emile

+0

Как вы создаете форму шеф-повара, используя модель или формы. Форм? – Neo

ответ

0

Вы не можете использовать поля формы внутри модели. Вместо этого сделайте внешний ключ от еды до шеф-повара.

class Meal(models.Model): 
    name = models.CharField(max_length=10) 
    chef = models.ForeignKey(Chef) 
    def __unicode__(self): 
     return "%s" % self.name 

Теперь внутри шаблона используйте

{% for meal in chef.meal_set.all %} 
    {{ meal }} 
{% endfor %} 

Ofcourse, а не чужом поле, может быть множественным несколько отношений между моделями шеф и шрота. Измените код соответствующим образом.

+0

Ah Neo, я на самом деле пытаюсь отобразить данные с объекта Chef, а не из формы. Прошу прощения за путаницу. – Emile

+0

'meal' на самом деле является полем формы, а не объектом. Я отвечу в этом случае. – Neo

+0

Удивительная благодарность! – Emile

Смежные вопросы