2014-10-08 69 views
0

我正在创建一个小型站点来注册体育赛事结果。我有两个以下型号:外键字段不在django中的内联模型admin中呈现

  • 球员
  • 比赛
  • 目标(由玩家在比赛中打进)
详细

(的球队):

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) 

我想编辑目标以及比赛详情und呃django管理员。因此,我创建了以下管理模型:

class GoalsInline(admin.TabularInline): 
    model = Goal 
    extra = 1 

@admin.register(Match) 
class MerkozesAdmin(admin.ModelAdmin): 
    inlines = [GoalsInline] 

奇怪的是,我的管理内嵌不显示player场,刚刚从Goal模型中的其他领域。我也检查了html代码,它甚至不是一个隐藏的字段。

你有什么想法可能是什么原因,我怎么能得到所有的领域显示?

回答

1

您的GoalsInline只会显示Player对象的选定字段,因为它是ForeignKey。

一种替代方法是在admin中将Player类注册为加号以显示在内联中,以便您可以从该内联添加新的Player对象。

@admin.register(Player) 
class PlayerAdmin(admin.ModelAdmin): 
    pass 

From Admin

相关问题