我在餐馆和照片之间有一对多的关系。我在为相应的餐厅显示单个图像时遇到问题。
现在,我得到了所有这样的餐厅:
restaurants = Restaurant.objects.all()
在我的模板中,我有一个遍历餐馆并显示信息的循环。但是,我不确定如何检索与餐厅相关的图像:
{% for restaurant in restaurants %}
{{restaurant.name}}
{{restaurant.address}}
{{CODE TO DISPLAY IMAGE}}
...
{% endfor %}
如何检索与餐厅对应的第一张图片?我尝试了restaurant.restaurantphoto_set.get.image
,但只有在有一张图片时才有效。
答案 0 :(得分:1)
在不知道你的模型是什么样的情况下进行诊断有点难,但是你试过了吗?
restaurant.restaurantphoto_set.all()
这里的文档有一些非常可靠的例子: https://docs.djangoproject.com/en/1.7/topics/db/examples/many_to_one/
答案 1 :(得分:1)
在您的模板中执行
{% for photo in restaurant.restaurantphoto_set.all %}
{{ photo.image }}
{% endfor %}
答案 2 :(得分:0)
这就是我最终解决问题的方法:
{% for restaurant in restaurants %}
{{restaurant.name}}
{{restaurant.address}}
{% for photo in restaurant.restaurantphoto_set.all %}
{% if forloop.counter == 1 %}
<img src= "{% static photo.image %}" class="img-curved">
{% endif %}
{% endfor %}
{% endfor %}