Загрузка файлов 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}

Где я ошибаюсь?

Вернуться на верх