Как сохранить файл и модель, загруженные с помощью PUT
Я делаю API загрузки файлов с помощью этого документа https://www.django-rest-framework.org/api-guide/parsers/#fileuploadparser
в view.py
class FileUploadView(APIView):
parser_classes = [FileUploadParser]
def put(self, request, filename, format=None):
file_obj = request.data['file']
# ...
# How to save file and model here?
# ...
return Response(status=204)
и затем сделать url в urls.py
urlpatterns += [
re_path(r'^upload/(?P<filename>[^/]+)$', FileUploadView.as_view())
]
а модель выглядит следующим образом
class WaveFile(models.Model):
description = models.CharField(max_length=255, blank=True)
document = models.FileField(upload_to='_mat/_spleeter_wav/')
uploaded_at = models.DateTimeField(auto_now_add=True)
Теперь я могу отправить файл как PUT
следующим образом curl -X PUT -F upfile=_mat/Doyo.wav http://localhost:8008/upload/test
Как я могу сохранить файл и модель?