我只想在特定的比赛中展示与球队相关的球员.通常当我这样做时,它会向我显示数据库中的所有玩家.这是我的models.py
class InningsCard(models.Model): fixture = models.ForeignKey(Fixture) team = models.ForeignKey(Team) runs = models.IntegerField(max_length=6,default=0) wickets = models.IntegerField(max_length=6,default=0) overs = models.FloatField(max_length=6,default=0.0) def __unicode__(self): return str(self.team) class BattingDetail(models.Model): STATUS_CHOICES = ( ('no','not out'),('bowled','bowled'),('caught','caught'),('lbw','lbw'),) innings = models.ForeignKey(InningsCard) player = models.ForeignKey(Player) runs = models.IntegerField(max_length=5,default=0) status = models.CharField(max_length=15,choices=STATUS_CHOICES,default='no') def __unicode__(self): return str(self.player)
现在,这是我的admin.py包含formfield_for_foreignkey,但它不起作用.
class BattingInline(admin.TabularInline): model = BattingDetail extra = 0 def formfield_for_foreignkey(self,db_field,request=None,**kwargs): if db_field.name == 'player': kwargs = Player.objects.filter(team = request.team) else: pass return super(BattingInline,self).formfield_for_foreignkey(db_field,request,**kwargs) class InningCardAdmin(admin.ModelAdmin): inlines = [BattingInline]
哪里可能出错?
//老鼠