Seems odd to connect Player to Team via Goal and GameRoster (only for hometeam, presumably you have away team as well) - what about players that don't score, don't you want those details as well? Maybe you show an edited version of your models.
Why not have class Player(models.Model): lastname = models.CharField(max_length=60) team = models.ForeignKey(Team) This way players, teams and goals are all tied closely. And you could rename GameRoster to PlayerGames or something a little more intuitive. Hope this helps. Christian Wittwer wrote: > Hi, > I have a question regarding the admin interface of django. > > My models > > class Team(models.Model): > name = models.CharField(max_length=10) > > class Player(models.Model): > lastname = models.CharField(max_length=60) > > class Goal(models.Model): > game = models.ForeignKey(Game) > goal_scorer = > models.ForeignKey(Player,related_name='goal_scorer',blank=True,null=True) > > class Game(models.Model): > home_team = models.ForeignKey(Team,related_name='home_team') > > class GameRoster(models.Model): > player = models.ForeignKey(Player) > game = models.ForeignKey(Game) > > Each Goal is scored by a Player in a Game. I'm using a inline form to > insert goals for a game. > The players are somehow connected to the team (gameroster), and > therefore to the game. > > I found the place to hook in to limit the choices of player. > > class GoalInline(admin.TabularInline): > model = Goal > extra = 4 > > def formfield_for_foreignkey(self, db_field, request, **kwargs): > if db_field.name == "goal_scorer": > kwargs["queryset"] = > Player.objects.filter(gameroster__game=self.game) > return db_field.formfield(**kwargs) > > return super(GoalInline, > self).formfield_for_foreignkey(db_field, request, **kwargs) > > > The missing point is now: How to access game, which is connected to > the goal to limit the players? > I tried self.game as you can see, but that doesn't work. > How can I access the model from within this function? > > Chris > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---