Django Rest Framework Загрузка изображений/файлов

Я хочу, чтобы изображения загружались через конечную точку, например, (localhost/posts/), для чего я просмотрел большинство предыдущих вопросов и ответов, но мне не удалось добиться успеха в этой работе.

Помимо django rest framework я использую пакеты drf-flex-fields и versatileimagefield

Ниже приведен мой код:

#Модели

class Post(models.Model)
    content = models.TextField() 
    image = models.ManyToManyField(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()
Вернуться на верх