django模板 - 用于循环超过2个查询集

don*_*yor 2 python django django-templates

我从db得到2个查询集:

all_locations = Locations.objects.all()[:5]
rating = Rating.objects.all()[:5]
return render_to_response('index.html',{'all':all_locations,'rating':rating},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

但我被困在这里,不知道如何在一个循环中循环这两个查询集.这是错误的:

{% if all and rating %}
  {% for every in all and rating  %}
         {{every.locationname}}, {{every.rating_score}}
  {% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

Jas*_*ske 5

你可以试试zip(all_locations, rating).它将生成一个元组列表.然后你可以成对迭代它们.这是一个例子:( 演示)

all_locations = ['ca','ny','fl']
ratings = ['best','great','good']
for (l,r) in zip(all_locations,ratings): 
   print l+':'+r 
Run Code Online (Sandbox Code Playgroud)

输出

ca:best
ny:great
fl:good
Run Code Online (Sandbox Code Playgroud)