Как загрузить несколько изображений django DRF из Flutter
У меня есть модели Car и CarImage и сериализаторы:
class Car(models.Model):
title = models.CharField('title',max_length=200)
def __str__(self):
return self.title
class CarImage(models.Model):
car = models.ForeignKey(Car,on_delete=models.CASCADE,related_name='car_image',related_query_name='car_image')
image = models.ImageField(upload_to='test_media/',null=True,blank=True,)
def __str__(self):
return f'{self.id} Image'
class Car_Image_Serializer(serializers.ModelSerializer):
class Meta:
model = models.CarImage
fields = ('id','image')
class Car_Serializer(serializers.ModelSerializer):
car_image = Car_Image_Serializer(many=True,required=False)
class Meta:
model = models.Car
fields = ('title','car_image')
def create(self, validated_data):
if 'car_image' in validated_data:
car_image= validated_data.pop('car_image')
car_instance= models.Car.objects.create(**validated_data)
for img in car_image:
models.CarImage.objects.create(car=car_instance,image=img)
return car_instance
if 'car_image' not in validated_data:
car_instance= models.Car.objects.create(**validated_data)
return car_instance
а во flutter я отправляю изображения с помощью библиотеки Dio:
FormData formData1 = FormData.fromMap({
'title': 'test',
'car_image': [
{
'car_image': await MultipartFile.fromFile(
image_path,
filename: fileName,
)
}
]
});
var response = await dio.post(
url,
data: formData1,
);
и я получаю OrderedDict()
{ "title": "test", "car_image": [ { "id": 7, "image": "https://temike.pythonanywhere.com/media/OrderedDict()" } ] }