模板中的外键

时间:2013-08-08 13:38:22

标签: django

型号:

class Design(models.Model):
    title = models.CharField(max_lengt=255)

class DesignImg(models.Model):
    design = models.ForeignKey(Design)
    img = models.ImageField(upload_to="project_images")

的观点:

def index(request):
    d = Design.objects.all()
    return render_to_response('index.html',{'d':d},context_instance=RequestContext(request))

模板(这是不正确的):

{% for a in d %}
    <img src="{{ a.img.url }}"/>
{% endfor %}

如何在模板中显示我的所有img

2 个答案:

答案 0 :(得分:3)

由于您尝试引用反向外键,

{% for a in d %}
    {% for image in a.designimg_set.all %}
        <img src="{{ image.img.url }}"/>
    {% endfor %}
{% endfor %}

您可以阅读more here

答案 1 :(得分:0)

其中一个解决方案是@karthikr提出的建议。但是它可能没有足够的效率(如果db中有Design的许多实例,那么很多查询。)

另一种解决方案是简单地将DesignImg.objects.all()传递给您的模板。你试图显示所有图像。