2011-01-29 6 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) 

16,그리고 식사 모델 :

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

위 내용을 추가했습니다. 나는 Chef 모델에서 식사를 가져오고있다. – Emile

+0

Modelform 또는 forms.Form을 사용하여 Chef 양식을 어떻게 생성하고 있는가? – 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 %} 

당연히를 사용하는 대신 외국 필드의, 요리사 및 식사 모델 사이에 여러-여러 관계가있을 수 있습니다. 그에 따라 코드를 수정하십시오.

+0

아 네오, 실제로 양식이 아닌 요리사 개체의 데이터를 표시하려고합니다. 혼란스러워서 미안해. – Emile

+0

'식사'는 실제로 양식 필드이며 객체가 아닙니다. 이 경우 응답을 다시 게시하겠습니다. – Neo

+0

굉장한 감사합니다! – Emile

관련 문제