Загрузка изображения/изображений через конечную точку Django Rest Framework

Я пытаюсь загрузить изображения через конечную точку, например (localhost/posts/), для чего я просмотрел большинство предыдущих вопросов и ответов, но мне не удалось добиться успеха в этом. Помимо django rest framework я использую пакеты drf-flex-fields и versatileimagefield.

Когда изображение добавляется со стороны администратора, все работает хорошо, поэтому я подозреваю, что проблема кроется в моем методе создания сериализатора.

Ниже приведен мой код, который не работает через Postman:

#Модели

class Post(models.Model)
    content = models.TextField() 
    image = models.ForeignKey(PostImage, related_name='posts_images')
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey("profiles.Profile", on_delete=models.CASCADE, null=True, related_name='posts')

class PostImage(models.Model):
    image = VersatileImageField('Image',upload_to='images/',ppoi_field='image_ppoi')
        image_ppoi = PPOIField()

#Serializers

class PostImageSerializer(FlexFieldsModelSerializer):
    
    image = VersatileImageFieldSerializer(
        sizes=[
            ('full_size', 'url'),
            ('thumbnail', 'thumbnail__300x300'),
        ]
    )
    class Meta:
        model = PostImage
        fields = ('image',)


class PostSerializer(serializers.ModelSerializer):
        
    image = PostImageSerializer(many=True, required=False)
    class Meta:
        read_only_fields = ('author', )
        model = Post
        fields = [
            'id',
            'content',            
            'author',
            'created',
            'image',
        ]
        expandable_fields = {'image': ('posts.PostImageSerializer', {'many': True}),}
        

    def create(self, validated_data):
        request = self.context['request']
        images = self.context['request'].FILES
        
        post = Post.objects.create(author=request.user.profile, **validated_data) 
            
        for image in images:
            PostImage.objects.create(**image)
        return post

#Viewset


class PostViewSet(FlexFieldsModelViewSet):
    serializer_class = PostSerializer
    queryset = Post.objects.all()
Вернуться на верх