1
je modèle:Filtre à ManyToManyField avec par
class Player(models.Model) :
...
teams = models.ManyToManyField("Team", through="PlayerTeam")
class Team(models.Model) :
...
players = models.ManyToManyField("Player", through="PlayerTeam")
class PlayerTeam(models.Model) :
player = models.ForeignKey(Player)
team = models.ForeignKey(Team)
date_begin = models.DateField()
date_end = models.DateField(blank=True, null=True)
Je veux que tous les joueurs qui jouent dans l'équipe sélectionnée (DATE_END est nulle). J'ai essayé ceci:
team = get_object_or_404(Team, pk=id)
players = team.players.filter(date_end__isnull=True)
mais il ne fonctionne pas, parce que le champ 'DATE_END' est pas dans le modèle du joueur
Il retourne la liste des id joueurs. Je veux obtenir une liste des joueurs objet – Heniek
Avez-vous besoin d'appliquer plus de filtres de Queryset? Si non, utilisez simplement quelque chose '[tp.player pour tp dans team.playerteam_set.filter (date_end__isnull = True) .select_related()]'. – ilvar
Je veux ajouter un ordre par un champ dans le modèle de joueur – Heniek