Sé cómo hacer referencia a una sola clave externa, pero cuando se trata de una clave externa dentro de otra clave externa, estoy perdido. No puedo pensar en la lógica correcta para hacer que esto funcione, lo que me hace pensar que hay una lógica especial que se aplica a esto.
Lo que he probado:
b2=[] league = League.objects.get(name='International Collegiate Baseball Conference') team = league.teams.all() for b in team.curr_players.all(): b2.append(b.first_name + b.last_name)De mis modelos:
class League(models.Model): name = models.CharField(max_length=50) sport = models.CharField(max_length=15) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Team(models.Model): location = models.CharField(max_length=50) team_name = models.CharField(max_length=50) league = models.ForeignKey(League, related_name="teams") class Player(models.Model): first_name = models.CharField(max_length=15) last_name = models.CharField(max_length=15) curr_team = models.ForeignKey(Team, related_name="curr_players") all_teams = models.ManyToManyField(Team, related_name="all_players")encontré la respuesta, tuve que hacer un ciclo for para iterar a través de lo que estaba recibiendo de league.teams.all() - que era un objeto de equipo y luego establecer las iteraciones iguales a una variable y establecer otra iteración igual a variable.related_name .todos()
b2=[] league = League.objects.get(name='International Collegiate Baseball Conference') team = league.teams.all() for a in team: players = a for b in players.curr_players.all(): b2.append(b.first_name + b.last_name)