Noa*_*dja 50 django many-to-many django-templates
我正在尝试打印所有会议的清单,并为每个会议打印3个演讲者.
在我的模板中,我有:
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
在我的views.py文件中我有:
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})
Run Code Online (Sandbox Code Playgroud)
有一个名为会议的模型.它有一个名为Conferences的类,其中有一个名为扬声器的ManyToManyField
我收到错误:
Caught an exception while rendering: 'ManyRelatedManager' object is not iterable
Run Code Online (Sandbox Code Playgroud)
用这一行: {% for speakers in conference.speakers %}
int*_*jay 96
您需要调用all多对多字段来获取可迭代对象.另外,下一行应该包含扬声器而不是conference.speakers.
{% for speaker in conference.speakers.all %}
<li>{{ speaker }}</li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
Ric*_*son 16
类似于pythoncode,这将是:
for speaker in conferenece.speakers.all():
print speaker.FIELDNAME
Run Code Online (Sandbox Code Playgroud)