我正在创建一个小网站来注册体育赛事结果。我有以下两个模型:
- 团队
- 球员(球队)
- 匹配
- 进球(由球员在比赛中得分)
更详细地说:
class Team(models.Model):
name = models.CharField(max_length=255)
class Player(models.Model):
team = models.ForeignKey(Team)
name = models.CharField(max_length=255)
total_goals = models.IntegerField(default=0)
def __unicode__(self):
return u"%s (%s)" % (self.name, self.team)
class Match(TimeStampedModel):
competition = models.ForeignKey(Competition)
league = models.ForeignKey(League, null=True, blank=True) # null==True, ha osztalyozo
home = models.ForeignKey(Team, related_name="merkozes_home")
away = models.ForeignKey(Team, related_name="merkozes_away")
home_score = models.SmallIntegerField(blank=True, null=True)
away_score = models.SmallIntegerField(blank=True, null=True)
goal_list = models.ManyToManyField(Player, through='Goal')
@property
def winner(self):
return self.home if self.home_score > self.away_score else self.away
@property
def loser(self):
return self.home if self.home_score < self.away_score else self.away
class Meta:
unique_together = (('league', 'home', 'away'),)
def __unicode__(self):
return u"%s - %s (%s)" % (self.home, self.away, self.competition)
class Goal(TimeStampedModel):
player = models.ForeignKey(Player)
,atch = models.ForeignKey(Match)
goals = models.SmallIntegerField(default=0)
self_goal = models.BooleanField(default=False, blank=True)
我想在 django 管理员下编辑目标和比赛细节。因此,我创建了以下管理模型:
class GoalsInline(admin.TabularInline):
model = Goal
extra = 1
@admin.register(Match)
class MerkozesAdmin(admin.ModelAdmin):
inlines = [GoalsInline]
奇怪的是,我的管理员内联不显示player
字段,只显示Goal
模型中的其他字段。我也检查了html代码,它甚至不是隐藏字段。
您知道这可能是什么原因吗?如何才能显示所有字段?