Сохранить бинарный файл через многокомпонентный локон - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу сохранить файл в двоичном поле и некоторые другие детали с помощью пост-запроса DRF. Ниже приведен мой код:

    class TestUpload(models.Model):
        id = models.AutoField(primary_key=True, editable=False)
        code = models.CharField(max_length=64)
        name = models.CharField(max_length=128)
        description = models.CharField(max_length=1024)
        data = models.BinaryField()

class TestUploadViewSet(APIView):
    parser_classes = (MultiPartParser, FormParser,)

    def post(self, request, format=None):
        serializer = TestUploadSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
        return Response({'received data': request.data})

class TestUploadSerializer(serializers.ModelSerializer):
    class Meta:
        model = wm.TestUpload
        fields = [
            'code',
            'name',
            'description',
            'data',
        ]

Ниже приведен мой код скручиваемости почтальона:

curl -X POST \
  http://localhost:80/testupload/ \
  -H 'cache-control: no-cache' \
  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
  -H 'postman-token: 447d7078-faa5-37e9-30ae-5ade00e626e6' \
  -F code=code \
  -F name=name \
  -F 'description=Description' \
  -F data=@test.js

С помощью приведенного выше кода строка в базе данных успешно добавлена ​​в базу данных, но столбец данных пустпоэтому файл не вставлен. Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...