diff --git a/src/apps/api/views/competitions.py b/src/apps/api/views/competitions.py index 09eeb2491..493a13ea7 100644 --- a/src/apps/api/views/competitions.py +++ b/src/apps/api/views/competitions.py @@ -227,9 +227,20 @@ def create(self, request, *args, **kwargs): leaderboard.is_valid() leaderboard.save() leaderboard_id = leaderboard["id"].value + + # Set leaderboard id, starting kit and public data for phases for phase in data['phases']: phase['leaderboard'] = leaderboard_id + try: + phase['public_data'] = Data.objects.filter(key=phase['public_data']['value'])[0].id + except TypeError: + phase['public_data'] = None + try: + phase['starting_kit'] = Data.objects.filter(key=phase['starting_kit']['value'])[0].id + except TypeError: + phase['starting_kit'] = None + serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer)