Тестирование POST-запроса, вызывающего ошибку KeyError в Postman

В настоящее время я тестирую POST-запрос для модели Tagging. Для этого я попытался переопределить метод create(). Я не уверен, что сделал это правильно, но я перепробовал все, что мог придумать. Я даже удалил его и попробовал протестировать POST-запрос без переопределения.

Я продолжаю получать эту ошибку при тестировании с Postman:

KeyError at /api/tagging 'user'

Как я могу избавиться от этой ошибки? Чего не хватает моему методу create()?

serializers.py

class TaggingSerializer(serializers.ModelSerializer):
  tag = StringRelatedField()
  resource = serializers.PrimaryKeyRelatedField(read_only=True)
  gameround = serializers.PrimaryKeyRelatedField(read_only=True)
  user = CustomUserSerializer(required=False, read_only=True)

  class Meta:
    model = Tagging
    fields = ('id', 'user', 'gameround', 'resource', 'tag', 'created', 'score', 'origin')

  def create(self, validated_data):
    """Create and return a new tagging"""

    tagging = Tagging(
      user=validated_data["user"],
      gameround=validated_data["gameround"],
      resource=validated_data["resource"],
      tag=validated_data["tag"],
      created=validated_data["created"],
      score=validated_data["score"],
      origin=validated_data["origin"]
    )
    tagging.save()
    return tagging

  def to_representation(self, data):
    data = super().to_representation(data)
    return data

Если я изменю метод create на:

  def create(self, validated_data):
    """Create and return a new tagging"""

    tagging = Tagging(
      user=validated_data.get("user"),
      gameround=validated_data.get("gameround"),
      resource=validated_data.get("resource"),
      tag=validated_data.get("tag"),
      created=validated_data.get("created"),
      score=validated_data.get("score"),
      origin=validated_data.get("origin")
    )
    tagging.save()
    return tagging

Я получаю

IntegrityError: null value in column "created" of relation "app_tagging" violates not-null constraint
DETAIL:  Failing row contains (15, null, 0, , null, null, null, null).

Это мой запрос на почту:

    def post(self, request, *args, **kwargs):
        tagging_serializer = TaggingSerializer(data=request.data)
        if tagging_serializer.is_valid(raise_exception=True):
            tagging_serializer.save(tagging=request.data)
            return Response({"status": "success", "data": tagging_serializer.data}, status=status.HTTP_200_OK)
        else:
            return Response({"status": "error", "data": tagging_serializer.errors}, status=status.HTTP_400_BAD_REQUEST)

Это JSON, который я отправляю

{
        "user": null,
        "gameround": 1,
        "resource": 602,
        "tag": "RTTesttaggg",
        "created": "2022-12-12T15:19:49.031000Z",
        "score": 0,
        "origin": ""
    }

models.py

Вернуться на верх