为了账号安全,请及时绑定邮箱和手机立即绑定

如何将一对多关系传递给object.all()查找为可迭代的上下文

如何将一对多关系传递给object.all()查找为可迭代的上下文

MYYA 2021-03-30 11:08:22
我很难设法解决这个问题。多对一关系已被详细记录,但我找不到如何将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有关相关对象的文档。


查看完整回答
反对 回复 2021-04-01
  • 3 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信