我很难设法解决这个问题。多对一关系已被详细记录,但我找不到如何将model.objects.all()查找的所有关系传递给上下文的示例。我正在尝试做类似的事情models.pyfrom django.db import modelsclass Image(models.Model): image_file = models.ImageField() imageset = models.ForeignKey(ImageSet)class ImageSet(models.Model): title = models.CharField(max_length)views.pyfrom django.shortcuts import renderfrom models import Image, ImageSetdef images(request): imagesets = ImageSet.objects.all() return render(request, 'template.html', {'imagesets': imagesets})template.html{% for imageset in imagesets %} {{ imageset.title }} {% for image in imageset.images %} <img src="{{image.image_file.url}}" alt=""> {% endfor %}{% endfor %}我已经尝试过了,imagesets = ImageSet.objects.all().prefetch_related()但它似乎仅适用于ManyToMany关系。
3 回答
动漫人物
TA贡献1815条经验 获得超10个赞
给定ImageSet模型实例,您可以使用...访问相关图像。
images = my_imageset.image_set.all()
...因此您可以将模板更改为...
{% for imageset in imagesets %}
{{ imageset.title }}
{% for image in imageset.image_set.all %}
<img src="{{image.image_file.url}}" alt="">
{% endfor %}
{% endfor %}
有关更多信息,请参见Django有关相关对象的文档。
添加回答
举报
0/150
提交
取消