【发布时间】:2019-04-17 05:45:56
【问题描述】:
我正在尝试制作一个游戏应用,人们可以在其中创建自己的球队,然后创建球员并将球员与特定球队相关联。问题是我怎样才能只显示与其连接的球队中的球员。
提前感谢您的帮助。
这是我的models.py
class Team(models.Model):
name = models.CharField(max_length =240)
captain = models.CharField(max_length = 240)
v_captain = models.CharField(max_length = 240)
def get_absolute_url(self):
return reverse('games_app:detail',kwargs = {'pk':self.pk})
def __str__(self):
return self.name
class Players(models.Model):
over = models.CharField(max_length = 10)
batting = models.CharField(max_length = 100)
player_team = models.ForeignKey(Team,related_name = "teams")
这里是views.py
class List_Players(generic.ListView):
model = models.Players
template_name = 'games_app/players_list.html'
这里是 HTML
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
{% for i in object_list.player_team %}
<h1>Players :<strong>{{i.player_name}}</strong>
{% endfor %}
</body>
</html>
【问题讨论】:
-
您的问题不清楚。您的视图列出了
Players对象,而不是Teams。此外,您似乎对related_name参数感到困惑,它应该是相反的(即related_name="players")。附带说明一下,考虑将Players重命名为Player,因为它更符合 Django 的命名约定。 -
为什么要查看团队视图
-
我将如何解决真正的问题。
-
我不想让团队查看,我是说您的代码与您的问题不符。真正的问题是什么?正如我所说,目前还不清楚。您写道您想要
display the players in a team,但您的代码似乎无关紧要。编辑您的问题以包含预期输出的示例可能会有所帮助。 -
我已经写过我只想展示那些和那个球队有联系的球员。
标签: django django-models django-views