【发布时间】:2020-11-11 19:40:36
【问题描述】:
我正在尝试使用 django rest api 上传多张图片。我关注了以下approach。但是当我选择一个或多个文件并尝试将它们作为表单数据发送到服务器时,我收到以下错误消息:
AttributeError at /api/photo/ 'bytes' object has no attribute 'name'
型号:
class Photo(models.Model):
image = models.ImageField(upload_to='audio_stories/')
序列化器:
class FileListSerializer ( serializers.Serializer ) :
image = serializers.ListField(
child=serializers.FileField( max_length=100000,
allow_empty_file=False,
use_url=False )
)
def create(self, validated_data):
image=validated_data.pop('image')
for img in image:
photo=Photo.objects.create(image=img,**validated_data)
return photo
查看:
class PhotoViewSet(viewsets.ModelViewSet):
serializer_class = FileListSerializer
parser_classes = (MultiPartParser, FormParser,)
queryset=Photo.objects.all()
网址
router.register('api/photo', PhotoViewSet, 'photocreate')
我不知道如何处理该错误,因为我的代码中没有与“名称”相关的内容?
【问题讨论】:
-
你是如何上传照片的?
-
@Paul 通过邮递员。
标签: python django django-rest-framework