Загрузка файлов Curl POST для django FileField
У меня есть эта модель, которая имеет models.FileField и я подтвердил, что загрузка файлов работает на Django rest framework web UI (viewsets.ModelViewSet)
class MyFile(models.Model):
name = models.CharField(verbose_name='NAME', max_length=30)
file = models.FileField(upload_to='file/%Y/%m/%d')
created_at = models.DateTimeField( auto_now_add=True)
class MyFileSerializer(serializers.Serializer):
name = serializers.CharField()
file = serializers.FileField(required=False)
def create(self, validated_data):
return MyFile.objects.create(**validated_data)
class MyFileViewSet(viewsets.ModelViewSet):
queryset = MyFile.objects.all()
serializer_class = MyFileSerializer
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
затем я пытаюсь загрузить файл с помощью curl.
curl -X POST -F upfile=temp/@image.jpg -F 'name=test'
возвращается вот так, но файл не загружается.
{"name":"test","file":null}
Где я ошибаюсь?