【问题标题】:Upload many images django rest framework上传许多图像 django rest 框架
【发布时间】:2021-02-19 01:27:46
【问题描述】:

我尝试将许多图片上传到一个帖子。

我尝试实现这一目标:

当我发布数据时,我得到了这个:

我的代码有什么问题?

【问题讨论】:

  • 我认为您在上传图片时做错了,因为该错误仅在您没有将图片放入上传表单并点击提交按钮时才会出现
  • 我把图片放在上传表单中,仍然得到这个响应。

标签: python django serialization file-upload django-rest-framework


【解决方案1】:

我已经为你编写了代码。试试这个:


class PostCreateSerializer(ModelSerializer):
    title = serializers.CharField()
    content = serializers.CharField()
    price = serializers.CharField()
    duration = serializers.CharField()
    destination = serializers.CharField()
    images = serializers.ListField(child=serializers.ImageField())
    _id = serializers.CharField()
    class Meta:
        model = Post 
        fields = [
            'title',
            'content',
            'price',
            'duration',
            'destination',
            'images'
        ]

    def create(self,validated_data):
        title        = validated_data['title']
        content    = validated_data['content']
        price        = validated_data['price']
        duration        = validated_data['duration'] 
        destination   = validated_data['destination'] 
        images   = validated_data['images'] 
        _id   = validated_data['_id'] 

        post_obj = Post.objects.create(
            title=title,
            content = content,
            price=price,
            duration=duration,
            destination=destination,
            ) 

        _id = Post.objects.get(id=_id)
        if not _id.exists():
            raise ValidationError('id does not exists')

        PostImage.objects.bulk_create([PostImage(post=_id,image=i) for i in images])
    
        return validated_data    

【讨论】:

  • 经过一些更改后,它可以工作了!非常感谢。我已经在下面发布了最后的代码,也许它对某人有帮助。
【解决方案2】:

这是我的问题的解决方案。

【讨论】:

    猜你喜欢
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2018-10-31
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多