У меня маленькая проблема с моделями Django. Я пытаюсь создать сервис статистики игры, но не могу понять, как я могу выбрать игроков из каждой команды в качестве начального списка (не содержит всех командных игроков) игры. Сбор должен работать так, чтобы дома и посетитель разделили списки игроков. И тогда должно быть возможно создать, например, объект цели, где я мог бы выбрать игрока в качестве бомбардира только из стартового списка. Я уже пытался добавить в игру «HomeToManyField» для домашних игроков и игроков, но это не сработает. Требуется хотя бы небольшая фильтрация.
class Game(models.Model):
series = models.ForeignKey(Series, related_name="game_series")
date = models.DateTimeField(default=None, blank=True, null=True)
home = models.ForeignKey(Team, related_name="game_home")
visitor = models.ForeignKey(Team, related_name="game_visitor")
class Goal(models.Model):
game = models.ForeignKey(Game, related_name="goal_game")
minutes = models.PositiveIntegerField(default=None, blank=True, null=True)
seconds = models.PositiveIntegerField(default=None, blank=True, null=True)
scorer = models.ForeignKey(Player, related_name="goal_scorer")
assist = models.ForeignKey(Player, related_name="goal_assist")
class Save(models.Model):
game = models.ForeignKey(Game, related_name="save_game")
player = models.ForeignKey(Player, related_name="save_player")
count = models.PositiveIntegerField(default=None, blank=True, null=True)
Вопрос в том, как изменить модели для достижения желаемого результата. Примечание: я использую представления администратора для ввода данных, поэтому предлагаемое разрешение должно работать оттуда.
РЕДАКТИРОВАТЬ: Есть также модель игрока, которую я забыл объяснить ранее. Итак, обе команды уже определили список игроков, где выбрать состав для игры.
class Player(models.Model):
team = models.ForeignKey(Team, on_delete=models.PROTECT, related_name="player_team")
firstname = models.CharField(max_length=200, default=None, blank=True, null=True)
lastname = models.CharField(max_length=200, default=None, blank=True, null=True)
number = models.IntegerField(default=None, blank=True, null=True)
description = models.TextField(default=None, blank=True, null=True)