Django select from many-to-many
Базовая модель.
class Game(models.Model):
date = models.DateField()
...
class Player(models.Model):
user = models.OneToOneField(User, default=None, on_delete=models.CASCADE)
games = models.ManyToManyField(Game, through='PlayerGame')
...
class PlayerGame(models.Model):
player = models.ForeignKey(Player, on_delete=models.CASCADE)
game = models.ForeignKey(Game, on_delete=models.CASCADE)
score = models.IntegerField()
...
В каждой игре будет два игрока с соответствующими оценками.
Когда один игрок/пользователь входит в систему, я хотел бы отобразить все его игры против других игроков.
например, Игрок 1 вошел в систему...
Date | Opponent | Your Score | Opponent Score |
---|---|---|---|
2022-01-01 | Player 2 | 31 | 27 |
2021-06-02 | Player 4 | 31 | 26 |
2021-06-02 | Player 2 | 5 | 31 |
2021-05-27 | Player 6 | 20 | 31 |
Если Игрок 2 вошел в систему, он может увидеть
Date | Opponent | Your Score | Opponent Score |
---|---|---|---|
2022-01-01 | Player 1 | 27 | 31 |
2021-06-02 | Player 1 | 31 | 5 |
Есть идеи, как написать запрос для этого?