как загрузить файл на сервер через django rest framework

Рейтинг: 0Ответов: 1Опубликовано: 05.06.2023

Благодаря stack overflow реализовал загрузку файла во views, но как сделать так, чтобы файл попал на сервер и появились данные в базе данных. Если через админку загружаю файл, то всё хорошо работает.

То есть не знаю что дальше делать во # views.py, где написано: # do some stuff with uploaded file ???

Тестирую через postman. Спасибо)

# urls.py
path('api/v1/UploadDataset/', UploadDataset.as_view()),
# models.py
class Datasets(models.Model):
    create_at = models.IntegerField(max_length=50) # дата загрузки
    user = models.IntegerField(max_length=50) #идентификатор пользователя
    name_dataset = models.CharField(max_length=255) # имя датасета
    link_dataset =  models.FileField (upload_to=datasets_filename) # идентификатор (ссылка на файл)
# serializers.py

class UploadDatasetSerializer(serializers.ModelSerializer):
    class Meta:
        model = Datasets
        fields =  '__all__'
# views.py
class UploadDataset(APIView):
    parser_classes = (MultiPartParser, FormParser )
    #parser_classes = [FileUploadParser]    

    def put(self, request,  format=None):
        file_obj = request.FILES['file']
            
        # do some stuff with uploaded file ???
        return Response(status=204)

Ответы

▲ 0

В views.py

где: # do some stuff with uploaded file ???

Datasets.objects.create(
        create_at=time.time(),
        user=user_id,
        name_dataset=name_dataset,
        link_dataset=file_obj
    )