def save(self): # Create a new Game instance for current user game = Game(name=self.cleaned_data['name']) game.save() # Add user to game game.users.add(self.user.id) game.save() # Create a new Board instance and assign it to created game board = Board(game_id=game.id, size=self.cleaned_data['size']) board.save() # Create black Stone instances for first player. # Second player will have white stones. board.add_stones(self.user, STONE_COLORS['black']) # Add chat to game chat = Chat(game_id=game.id) chat.save() # Add player join message chat.join(self.user) return game