Как преобразовать изображение в `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)>
и затем вернуть его?