2010-05-03 5 views
42

모든 회의 목록을 인쇄하려고하고 있으며 각 회의에 대해 3 개의 스피커를 인쇄하려고합니다. 내 템플릿에서ManyToManyField의 제품 목록

나는이 내 views.py 파일에

{% if conferences %} 
     <ul> 
     {% for conference in conferences %} 
       <li>{{ conference.date }}</li> 
       {% for speakers in conference.speakers %} 
         <li>{{ conference.speakers }}</li> 
       {% endfor %} 
     {% endfor %} 
     </ul> 
{% else %} 
<p>No Conferences</p> 
{% endif %} 

나는이 :

from django.shortcuts import render_to_response 
from youthconf.conference.models import Conference 

def manageconf(request): 
     conferences = Conference.objects.all().order_by('-date')[:5] 
     return render_to_response('conference/manageconf.html', {'conferences': conferences}) 

회의라는 이름의 모델이있다. 당신은 많은에 all를 호출 할 필요가 {% for speakers in conference.speakers %}

답변

80

:이 라인

Caught an exception while rendering: 'ManyRelatedManager' object is not iterable 

:라는 이름의 클래스는 회의 ManyToManyField 이름 스피커

나는 오류가 발생시킨 iterable 객체를 얻으려면 여러 필드를 사용하십시오. 또한 다음 줄에는 conference.speakers이 아닌 스피커가 있어야합니다.

{% for speaker in conference.speakers.all %} 
     <li>{{ speaker }}</li> 
{% endfor %} 
+0

가 대단히 감사합니다 :) 내가 생각으로 멀지 않은이었다! –

+0

내보기에서 ManyRelatedManager를 쿼리를 전달할 목록으로 변환하려면 어떻게해야합니까? – EduardoMaia

12

유사 내부 pythoncode이 될 것이다 :

for speaker in conferenece.speakers.all(): 
    print speaker.FIELDNAME 
관련 문제