虽然我发现这篇文章Django views.py Version of SQL Join with Multi Table Query很有帮助。它似乎没有帮助我加入表格。我之前有过一个问题的帮助,我以为我得到了它。我想在波士顿企鹅队做以下表演(现在)球员。
我目前试图将其拉出来的代码是
Player.objects.filter(team__all_teams__contains='boston', player__curr_team__contains="Penguins")
无论如何,通过推理将我置于我的模型的Player.objects中,并且应该从我的团队中过滤所有与波士顿队伍相关的球队,然后应该拉出所有现有球员。
除了给我答案之外,更好的是链接到视频或文档,以便更好地解释这一点,以便我可以更好地学习它来学习通话功能。
Models.py
from django.db import models
class League(models.Model):
name = models.CharField(max_length=50)
sport = models.CharField(max_length=15)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Team(models.Model):
location = models.CharField(max_length=50)
team_name = models.CharField(max_length=50)
league = models.ForeignKey(League, related_name="teams")
class Player(models.Model):
first_name = models.CharField(max_length=15)
last_name = models.CharField(max_length=15)
curr_team = models.ForeignKey(Team, related_name="curr_players")
all_teams = models.ManyToManyField(Team, related_name="all_players")
views.py only line i need help with rest works fine if i take out that line
"bostonp" : Player.objects.filter(team__all_teams__contains='boston', player__curr_team__contains="Penguins") ,
index.html only section that doesnt work take it out and it works
<h5>Question 2</h5>
{% for whatever in bostonp %}
<li>{{whatever.team_name}}</li>
{% endfor %}
</ol>
答案 0 :(得分:1)
试试这个(这将获取player
个实例):
bostonp = Player.objects.filter(curr_team__team_name__contains='Penguins')
然后在你的模板中:
{% for player in bostonp %}
<li>{{ player.first_name }} {{ player.last_name }}</li>
{% endfor %}