【发布时间】:2020-07-09 10:46:54
【问题描述】:
我正在将多个文件从我的 vue 前端上传到我的 drf 后端。 虽然文件确实被发送和发布(感谢这里的某人),但此错误不断出现:
AttributeError:尝试在序列化程序 FilesSerializer 上获取字段 files 的值时出现 AttributeError。
序列化程序字段可能命名不正确,并且与 list 实例上的任何属性或键都不匹配。
原始异常文本是:“列表”对象没有属性“文件”。
views.py
class FileViewSet(viewsets.ModelViewSet):
parser_classes = (FormParser,MultiPartParser)
queryset = File.objects.all()
serializer_class = FileSerializer
serializers.py
class FilesSerializer(serializers.Serializer):
files = serializers.ListField(child=serializers.FileField())
#files = serializers.ListField(child=FileSerializer())
def create(self, validated_data):
files = validated_data['files']
file_objs = [File.objects.create(file=file) for file in files]
return file_objs
models.py
class File(models.Model):
file = models.FileField(upload_to='files/')
uploaded_at = models.DateTimeField(auto_now_add=True)
def delete(self, *args, **kargs):
self.file.delete()
super().delete(*args, **kargs)
我的前端发送了什么:
【问题讨论】:
标签: python django django-rest-framework