Reputation: 1211
I am not really sure how should I do this but here, for example, I have model team and rider. So obviously team have many riders so FK is on Rider.
class Team(models.Model):
team_name = models.CharField(_('Team name'), max_length=100, db_index=True)
bike = models.CharField(_('Bike'), max_length=100, db_index=True)
slug = models.SlugField(_('Slug'), max_length=100)
class Rider(models.Model):
first_name = models.CharField(_('First name'), max_length=100, db_index=True)
last_name = models.CharField(_('Last name'), max_length=100, db_index=True)
number = models.IntegerField(_('Rider number'))
team = models.ForeignKey(Team)
Now in the template, I get all the teams and display them, but at the same time I would like to display riders per team so I use for loop to display team:
{% for team in teams %}
{% endfor %}
Now how am I able to get riders per team since I can't pass any arguments in templates?
Upvotes: 0
Views: 46
Reputation: 2919
A more explicit solution is to use related_name on your Team FK.
team = models.ForeignKey(Team, related_name='riders')
An loop that field set.
{% for team in teams %}
{% for rider in team.riders.all %}
{% endfor %}
{% endfor %}
Upvotes: 0
Reputation: 1877
team.rider_set.all()
you can get all riders which is related to your team.
Upvotes: 3