Как преобразовать изображение в `InMemoryUploadedFile`, когда URL изображения получен в DRF?

У меня есть ответ, в котором отображается URL изображения, но когда я пытаюсь отправить запрос PUT/PATCH, он выдает ошибку в виде:-

. Вот ответ:-

{
    "floorplan": {
        "floor": 32,
        "image": "http://127.0.0.1:8000/media/floorplans/71d3e751-d38f-416f-ac22-d6ddb3fa3541.jpg"
    }
}

Когда отправляется запрос PUT:-

{
    "floorplan": {
        "image": [
            "The submitted data was not a file. Check the encoding type on the form."
        ]
    }
}

Но когда я пытаюсь отправить запрос с загруженным изображением, он работает нормально.

Это мой сериализатор:-

class NestedFloorplanSerializer(serializers.ModelSerializer):
    class Meta:
        model = FloorPlan
        fields = (
            'floor',
            'image',
        )

Я попробовал переопределить the to_internal_value то, что я увидел, это то, что фактически изображение загружено, оно имеет тип:- <InMemoryUploadedFile: floor_1.jpg (image/jpeg)> и когда url отправлен, чем значение, которое я вижу в to_internal_value это http://127.0.0.1:8000/media/floorplans/71d3e751-d38f-416f-ac22-d6ddb3fa3541.jpg

Что я пытаюсь сделать, это не делать валидацию, когда тот же самый url изображения получен в to internal_value или, если возможно, преобразовать url в <InMemoryUploadedFile: floor_1.jpg (image/jpeg)> и затем вернуть его?

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