Django视图通过外键连接模型

1 投票
1 回答
851 浏览
提问于 2025-04-15 18:04

我定义了以下模型:

class Player(models.Model):
    Team = models.ForeignKey(Team)
    Name = models.CharField(max_length=200)
    Position = models.CharField(max_length=3)
    ... snip ...

我想在视图中输出一个列表,显示团队ID为1的所有玩家。

我尝试过一些方法,比如:

{% for player in userTeam.userTeamSquad %}
       <tr><td>{{ player.Name }}</td><td> {{ player.Position }}</td></tr>
{% endfor %}

但是总是弄不对。

1 个回答

2

你需要一个看起来像这样的视图:

def players(request):
    players_in_team_one = Player.objects.filter(Team__pk = 1)
    return render_to_response('players.html', {'players': players_in_team_one})

然后你可以在 players.html 中这样循环遍历它:

{% for player in players %}
       <tr><td>{{ player.Name }}</td><td> {{ player.Position }}</td></tr>
{% endfor %}

顺便说一下,作为一种风格,使用 all_lowercase_names_with_underscores 作为字段名称是更标准的做法。

撰写回答