Как сохранить файл и модель, загруженные с помощью 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

Как я могу сохранить файл и модель?

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