Как загружать файлы в django backend?

Я пытаюсь создать функцию загрузки файла на своем сайте. Однако я постоянно получаю ошибку The submitted data was not a file. Check the encoding type on the form. Я пытался создать функцию post в views.py. Означает ли это, что любой файл, который я загрузил, не считается файлом?

models.py

class ClinicVisit(models.Model):
    upload_attachment = models.FileField(null=True , blank=True, upload_to='uploads/')

views.py

class ClinicVisitList(generics.ListCreateAPIView):
    serializer_class = ClinicVisitSerializer
    filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
    filterset_class = ClinicVisitFilter
    permission_classes = [permissions.IsAuthenticated,]
    pagination_class = LargeResultsSetPagination
    ordering = ['-created_at']
    parser_class = (FileUploadParser,)

    def get_queryset(self):
        return ClinicVisit.objects.based_on_access_level(self.request.user)

    def post(self, request, *args, **kwargs):
        file_serializer = ClinicVisitSerializer(data=request.data)
        print(request.data)
        if file_serializer.is_valid():
            file_serializer.save()
            return response.Response(file_serializer.data, status=status.HTTP_200_OK)
        else:
            return response.Response(file_serializer.errors,status=status.HTTP_400_BAD_REQUEST)

serializers.py

class ClinicVisitSerializer(serializers.ModelSerializer):
 
    upload_attachment = serializers.FileField()

    class Meta:
        model = ClinicVisit
        exclude = clinicvisit_exclude
        extra_kwargs = {
            "staff_relationship": {"required": True},
            "visit_type": {"required": True},
            "visit_status": {"required": True},
        }
Вернуться на верх