繁体   English   中英

Django和QuerySet中的一对多关系

[英]One-To-Many Relationship in Django and QuerySets

我在餐厅和照片之间存在一对多的关系。 我在为相应的餐厅显示单个图像时遇到麻烦。

现在,我得到了所有这样的餐厅:

restaurants = Restaurant.objects.all()

在我的模板中,我有一个遍历餐厅并显示信息的循环。 但是,我不确定如何检索与餐厅关联的图像:

{% for restaurant in restaurants %}
  {{restaurant.name}}
  {{restaurant.address}}
  {{CODE TO DISPLAY IMAGE}}
  ...
{% endfor %}

如何检索与餐厅相对应的第一张图片? 我尝试过restaurant.restaurantphoto_set.get.image ,但这仅在有单个图像时有效。

在不知道模型是什么样的情况下很难诊断,但是您是否尝试过:

restaurant.restaurantphoto_set.all()

该文档在这里有一些非常可靠的示例: https : //docs.djangoproject.com/en/1.7/topics/db/examples/many_to_one/

在模板中做

{% for photo in restaurant.restaurantphoto_set.all %}
  {{ photo.image }}
{% endfor %}

这就是我最终解决问题的方式:

{% 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 %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM