我想通过JSON将多个图像上传到django后端。 我的前端帖子看起来像这样的东西(图像是Base64编码图像的数组):
return $http.post('/api/v1/images/', {
project: project,
images: images
});
我的django模特:
class Image(models.Model):
project = models.ForeignKey(Project)
image = models.ImageField(upload_to=get_upload_path)
我的序列化器:
class ImageSerializer(serializers.ModelSerializer):
project = ProjectSerializer(read_only=True, required=False)
image = Base64ImageField(max_length=None, use_url=True)
def __init__(self, *args, **kwargs):
many = kwargs.pop('many', True)
super(ImageSerializer, self).__init__(many=many, *args, **kwargs)
class Meta:
model = Image
fields = ('id', 'project', 'image')
read_only_fields = ('id')
我的观点:
class ImageViewSet(viewsets.ModelViewSet):
queryset = Image.objects.order_by('-image')
serializer_class = ImageSerializer
def perform_create(self, serializer):
currentProject = Project.objects.all().get(name = self.request.data['project'])
instance = serializer.save(project = currentProject)
return super(ImageViewSet, self).perform_create(serializer)