Не удается загрузить фотографии в многочастную форму в django rest framework
У меня есть проект, в котором пользователь может загружать несколько фотографий при создании объявления, при отправке запроса из postman с помощью form-data объявление успешно добавляется, но изображение не загружается, При использовании необработанного Json с установкой типа содержимого:multipart/form-data, я получаю следующую ошибку:
"detail": "Multipart form parse error - Invalid boundary in multipart: None"
при отправке следующего запроса от просматриваемого API:
{
"name": "tractor",
"address": "any",
"price": 100,
"author": 17,
"photo": [
{
"name": "tractor",
"image": "/C:/Users/Admin/Downloads/marteau.jpg"
}
]
}
Я получил следующую ошибку:
"detail": "Multipart form parse error - Invalid boundary in multipart: None"
Он - мой код:
Models.py
class Photo(models.Model):
name = models.CharField(max_length=100)
image = models.ImageField(upload_to=nameFile, blank=True, null=True)
class Announcement(models.Model):
author = models.ForeignKey(
User, on_delete=models.CASCADE, related_name='announcements')
name = models.CharField(max_length=100)
address = models.CharField(max_length=100)
price = models.FloatField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
rating = models.FloatField(blank=True, null=True)
date = models.DateTimeField(auto_now_add=True)
photo = models.ManyToManyField(Photo, blank=True)
Views.py
class AnnouncementCreate(CreateAPIView):
queryset = models.Announcement.objects.all()
serializer_class = AnnouncementSerializer
parser_classes = (FormParser,MultiPartParser)
def perform_create(self, serializer):
serializer.save(author=self.request.user)
class PhotoViewSet(ListAPIView):
queryset = models.Photo.objects.all()
serializer_class = PhotoSerializer
def post(self, request, *args, **kwargs):
file = request.data.get('image')
image = models.Photo.objects.create(image=file)
return HttpResponse(json.dumps({'message': "Uploaded"}), status=200)
Serializers.py
class AnnouncementSerializer(WritableNestedModelSerializer, serializers.ModelSerializer):
parameters = ParameterSerializer(many=True, required=False)
photo = PhotoSerializer(many=True, required=False)
class Meta:
model = Announcement
fields = ['id', 'name', 'address', 'date',
'price', 'description', 'author', 'parameters', 'photo']
class PhotoSerializer(serializers.ModelSerializer):
class Meta:
model = Photo
fields = ('name', 'image')