我只想在特定的比赛中展示与球队相关的球员.通常当我这样做时,它会向我显示数据库中的所有玩家.这是我的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]
哪里可能出错?
//老鼠
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。