def setUpTestData(cls): super().setUpTestData() for i in range(4): User.objects.create_user(username='******' + str(i), email='player' + str(i) + '@test.com', password=cls.password) players = Player.objects.all() players_team_a = [players[0], players[1]] players_team_b = [players[2], players[3]] team_a = Team.create(players_team_a) team_b = Team.create(players_team_b) print(team_a) print(team_b) team_a = Team.get_or_create_team( [player.id for player in team_a.players.all()]) team_b = Team.get_or_create_team( [player.id for player in team_b.players.all()]) teams = [team_a, team_b] max_score = 13 score_a = 13 score_b = 7 game = Game.create(max_score=max_score, teams=teams) ScoreTeam.objects.create(team=team_a, game=game, score=score_a) ScoreTeam.objects.create(team=team_b, game=game, score=score_b) max_score = 13 score_a = 7 score_b = 13 game = Game.create(max_score=max_score, teams=teams) ScoreTeam.objects.create(team=team_a, game=game, score=score_a) ScoreTeam.objects.create(team=team_b, game=game, score=score_b)
def create(self, request, *args, **kwargs): print(request.data) max_score = request.data['maxScore'] players_team_a = request.data['playersTeamA'] players_team_b = request.data['playersTeamB'] score_a = request.data['scoreTeamA'] score_b = request.data['scoreTeamB'] players_team_a_ids = [player["id"] for player in players_team_a] players_team_b_ids = [player["id"] for player in players_team_b] team_a = Team.get_or_create_team(players_team_a_ids) team_b = Team.get_or_create_team(players_team_b_ids) teams = [team_a, team_b] game = Game.create(max_score=max_score, teams=teams) ScoreTeam.objects.create(team=team_a, game=game, score=score_a) ScoreTeam.objects.create(team=team_b, game=game, score=score_b) print(game) self.kwargs['pk'] = game.id return self.retrieve(request)
def create_game(game_data): game = Game.objects.create(max_score=game_data['max_score']) for score in game_data['scores']: team_players_ids = [] for name in score['players']: team_players_ids.append(Player.get_by_name(name).id) team = Team.get_or_create_team(team_players_ids) game.teams.add(team) ScoreTeam.objects.create(team=team, game=game, score=score['score']) game.save() return game