【发布时间】:2020-02-14 09:41:11
【问题描述】:
我希望能够从我的 team-detail.html 文件中查看球队中有哪些球员。团队是在我的 team-list.html 中选择的。
这些是我的相关模型:
class Player(models.Model):
name = models.CharField(db_column="Player's_Name", blank=True, null=True, max_length=32)
team = models.CharField(db_column="Player's_Team", blank=True, null=True, max_length=32)
username = models.CharField(db_column='Username', blank=True, null=True, max_length=32)
password = models.CharField(db_column='Password', blank=True, null=True, max_length=16)
email = models.EmailField(db_column='Email', blank=True, null=True)
bio = models.CharField(db_column='Bio', blank=True, null=True, max_length=5000)
# teamid = models.CharField(db_column='TeamID', blank=True, null=True, max_length=8)
teams = models.ManyToManyField('Team', through='Membership')
def get_absolute_url(self):
return reverse('player-detail', args=[str(self.id)])
class Team(models.Model):
team_name = models.CharField(db_column='Team_Name', blank=True, null=True, max_length=32)
playernames = models.TextField(db_column='Players', blank=True, null=True)
def get_absolute_url(self):
return reverse('team-detail', args=[str(self.id)])
class Membership(models.Model):
player = models.ForeignKey(Player, on_delete=models.CASCADE)
team = models.ForeignKey(Team, on_delete=models.CASCADE)
date_joined = models.DateField(auto_now_add=False, blank=True, null=True)
def get_absolute_url(self):
return reverse('membership-detail', args=[str(self.id)])
这是我的团队详细信息文件:
{% extends "base_generic.html" %}
{% block content %}
<h1>Team Name: {{ team.team_name }}</h1>
<p><strong>Players:</strong> <a href="{% url 'player-detail' team.membership_set. %}">{{ team.membership_set.all }}</a></p>
{% endblock %}
我没有使用我自己的查询集,我正在使用
class TeamDetailView(generic.DetailView):
model = Team
如果您需要更多信息,请告诉我。
我仍然无法解决这个问题。是否有简单的单行操作,或者我需要跨多个文件进行编辑?它正在成为一个巨大的绊脚石,我非常感谢您提供的任何信息。
【问题讨论】:
标签: django django-models django-templates many-to-many