Данные, добавленные в запрос из Django ModelViewSet, не отражаются в сериализаторе

Я пытаюсь загрузить данные в модель, используя метод update_or_create. Для этого я добавил два поля в request.data на лету. Но я не получаю эти поля в методе create в сериализаторе

views.py

class TestMemberView(ModelViewSet):
    queryset = TestMembers.objects.order_by('-date_time_viewed')
    serializer_class = TestMemberSerializer

    def create(self, request, *args, **kwargs):
        request.data["user_id"] = 123
        request.data['user_name'] = test_user
        return super().create(request, *args, **kwargs)

serializer.py

class TestMemberSerializer(serializers.ModelSerializer):
    view_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S')

    class Meta:
        model = TestMembers
        fields = ("member_first_name", "member_last_name", "view_time",
                  "user_name","user_id",)

    
    def create(self, validated_date):
        user_id = validated_date.pop('user_id')
        member, _ = TestMembers.objects.update_or_create(user_id=user_id, defaults={
            "view_time": timezone.now()}, **validated_date)
        return member

тело запроса:

{
    "member_first_name": "test_name",
    "member_last_name": "test_name"
}

error:

{
    "errors": [
        {
            "error_level": "ERROR",
            "system_error": null,
            "reason": null,
            "user_error": {
                "user_name": [
                    "This field is required."
                ],
                "view_time": [
                    "This field is required."
                ]
            }
        }
    ]
}

Пожалуйста, помогите мне решить эту проблему. Как я могу получить те поля в сериализаторе, которые я добавил в представление.

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