Django foreign key relation in template

i know you will say that this question is asked before many times but i havent solved it yet...

class Doc(UploadModel):
    doc_no =  models.CharField(max_length=100, verbose_name = "No", blank=True)
    date_added = models.DateTimeField(verbose_name="Date",,

class DocImage(models.Model):
    property = models.ForeignKey(Doc, related_name='images')
    image = FileBrowseField("Docs", max_length=200,
            extensions=[".jpg",".tif"], blank=True, null=True)

def doc_detail(request, dosc_no):

    res = Doc.objects.filter(doc_no = dosc_no)        
    return render_to_response("doc/doc_detail.html",  {"result": res})


{% for i in docimage.property_set.all %}

{{ i.image.url }}  

{% endfor %}

i have tried above template but i didnt get any result. so i want to get imageurl adress in DocImage class...

all helps


If you review the foreign key documentation, if you have a relationship like

Doc -> has many DocImages

you need to define your foreign key on the DocImages class like so:

class DocImage(models.Model):
    property = models.ForeignKey(Doc, related_name='images')

If you don't set related names, you can access the DocImages from the Doc like:


Docs on Related Objects

But setting related_name in the property field lets you do


Just make sure whatever you pass to the template in the view context matches what is used in the template, e.g.

# in the view
return render_to_response('mytemplate.html', { 'mydoc' : doc, 'mydocimage' : img }

This can then be used in the template as follows:

# and in your template to get the images attached to the document
{% for i in mydoc.images.all %}
{% endfor %}

# or to get the document the image belongs to
{{ }}

  • first you iterate over the result
  • the images related to a Doc are retrieved by the images property of doc which is generated from the related_name attribute in the ForeignKey


{% for doc in result %}
  {% for docimage in doc.images.all %}
    {{ docimage.image.url }}
  {% endfor %}
{% endfor %}

Need Your Help

What event is triggered when a tab fragment is selected

android android-tabs

I'm using tab fragments in an activity and the actionbar hosts the tabs.

Should I convert from MooTools to jQuery?

javascript jquery mootools

I have a fairly large codebase that depends on MooTools v1.11 and am about to convert to version 1.2. Since this is a pretty major overhaul, I've toyed with the idea of converting to jQuery.