Traversing foreign key related tables in django templates


Question

View

categories = Category.objects.all()
t = loader.get_template('index.html')
v = Context({
    'categories': categories
})
return HttpResponse(t.render(v))

Template

{% for category in categories %}
    <h1>{{ category.name }}</h1>
{% endfor %}

this works great. now im trying to print each company in that category. the company table has a foreign key to the category table

ive tried

{% for company in category.company_set.all() %}

seems django doesn't like () in templates

There's a maze of information on the django site i keep getting lost between the .96, 1.0 and dev version. im running django version 1.0.2

1
30
6/18/2009 7:02:45 PM

Accepted Answer

Just get rid of the parentheses:

{% for company in category.company_set.all %}

Here's the appropriate documentation. You can call methods that take 0 parameters this way.

50
8/27/2013 11:19:08 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon