Проблема с медиа файлами с Django

Разрабатываю REST API на Django для сайта с товарами, где у каждого продукта может быть несколько медиафайлов (изображения и видео). Реализовал связь один-ко-многим (1:N) между моделями Product и Media. Создал отдельные сериализаторы для Product и Media, но столкнулся с проблемой: при отправке POST-запроса через Postman файлы не передаются. Не могу понять, в чём именно заключается ошибка - в настройках сериализаторов, вьюсетов или в формировании запроса, файл не находит.

models.py

class Product(models.Model):
    name = models.CharField(max_length=255)
    category = models.ForeignKey(ProductCategories, on_delete=models.CASCADE)
    seller = models.ForeignKey(
        Seller, on_delete=models.CASCADE, related_name='products')
    description = models.TextField()
    gender = models.CharField(max_length=10, blank=True, choices=[
        ('male', 'Male'),
        ('female', 'Female'),
        ('unisex', 'Unisex'),
    ])
    price = models.DecimalField(max_digits=10, decimal_places=2)
    previous_price = models.DecimalField(
        max_digits=10, decimal_places=2, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    is_published = models.BooleanField(default=True)
    tags = models.CharField(max_length=250, blank=True)
    search_vector = SearchVectorField(null=True)
    views = models.IntegerField(default=0)

    def __str__(self):
        return self.name

    class Meta:
        indexes = [GinIndex(fields=['search_vector'])]
        ordering = ['-created_at']


class ProductMedia(models.Model):
    product = models.ForeignKey(
        Product, on_delete=models.CASCADE, related_name='media')
    file = models.FileField(upload_to='products/')
    is_image = models.BooleanField(default=False)
    is_video = models.BooleanField(default=False)
    is_main = models.BooleanField(default=False)

    def __str__(self):
        return f'{self.product.name} - {self.is_main}'

serializer

class ProductMediaSerializer(serializers.ModelSerializer):

    class Meta:
        model = ProductMedia
        fields = ('id', 'file', 'is_image', 'is_video', 'is_main')


class ProductRetrieveSerializer(serializers.ModelSerializer):
    category = serializers.CharField(required=True)
    seller = SellerSerializer(read_only=True)
    media = ProductMediaSerializer(many=True, required=True)

    class Meta:
        model = Product
        fields = (
            'id', 'name', 'category', 'seller', 'media', 'description', 'gender', 'price',
            'previous_price', 'is_published', 'tags', 'views', 'created_at',
        )

    def create(self, validated_data):
        category = validated_data.pop('category')
        media = validated_data.pop('media')
        validated_data['category'] = ProductCategories.objects.get(
            name=category)
        user = self.context['request'].user
        validated_data['seller'] = Seller.objects.get(user=user)
        product = Product.objects.create(**validated_data)
        product.save()
        for item in media:
            ProductMedia.objects.create(product=product, **item)
        return product

views

class ProductViewSet(viewsets.ModelViewSet):
    queryset = Product.objects.all()
    serializer_class = ProductRetrieveSerializer
    filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
    filterset_class = ProductFilter
    parser_classes = (MultiPartParser, FormParser, FileUploadParser)
    permission_classes = (IsSellerOrReadOnly,)
    search_fields = ('name', 'description', 'tags', 'search_vector')
    ordering_fields = ('price', 'created_at')

Пробовал менять сериализаторы но все не приводят к тому результату чего я хочу.

Делаю в Postman POST запрос через form-data показывает как будто не картинки

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