Я хочу сохранить файл в двоичном поле и некоторые другие детали с помощью пост-запроса 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
С помощью приведенного выше кода строка в базе данных успешно добавлена в базу данных, но столбец данных пустпоэтому файл не вставлен. Чего мне не хватает?