MultiValueDictKeyError в POST-запросе Django REST APIView

Я пытаюсь написать POST-запрос для игрового API и передаю некоторые данные из GET-запроса и некоторые через этот POST-запрос. Однако я продолжаю получать следующую ошибку:

MultiValueDictKeyError 'gameround'

Что я делаю не так?

    def post(self, request, *args, **kwargs):
        if not isinstance(request.user, CustomUser):
            current_user_id = 1
        else:
            current_user_id = request.user.pk
        gameround = request.GET['gameround']
        random_resource = request.GET['resource']
        created = datetime.now()
        score = 0
        origin = ''
        name = request.POST['name']
        language = request.POST['language']

        user_input_tag = Tag.objects.create(name=name, language=language)
        tag_serializer = TagSerializer(user_input_tag)

        if Tagging.objects.all().filter(tag=user_input_tag).exists():
            # if tagging like this exists, save tagging anyway and leave tag unchanged
            score += 5
            user_input_tagging = Tagging.objects.create(user_id=current_user_id,
                                                        gameround=gameround,
                                                        resource=random_resource,
                                                        tag=user_input_tag,
                                                        created=created,
                                                        score=score,
                                                        origin=origin)

            tagging_serializer = TaggingSerializer(user_input_tagging)

            return Response({'tag and ': tag_serializer.data}, {'tagging': tagging_serializer.data})

        elif not Tagging.objects.all().filter(tag=user_input_tag).exists():
            # save tagging otherwise and del tag?
            user_input_tagging = Tagging.objects.create(user_id=current_user_id,
                                                        gameround=gameround,
                                                        resource=random_resource,
                                                        tag=user_input_tag,
                                                        created=created,
                                                        score=score,
                                                        origin=origin)
            user_input_tagging.save()
            tagging_serializer = TaggingSerializer(user_input_tagging)
            return Response({'tagging only': tagging_serializer.data})

У вас нет ключа gameround в вашем GET. Вы можете получить данные геймерунда как

gameround = request.GET.get('gameround')

Если значение по умолчанию не указано, то по умолчанию оно равно None.

Или вы можете установить значение default как

gameround = request.GET.get('gameround', '')
Вернуться на верх