Как загрузить несколько изображений 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()" } ] }

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