Django FileField - операция ввода/вывода над закрытым файлом

У меня есть простая модель Jour и следующая модель (JourAttachment):

class JourAttachment(models.Model):
    jourreport = models.ForeignKey(JourReport,related_name="jourattachments", on_delete=models.CASCADE)
    file = models.FileField(null=False)

При попытке создать Jour-экземпляр я добавляю все вложения следующим образом:

Вид

class JourReportListView(APIView):
serializer_class = JourReportListSerializer
permission_classes = (IsAuthenticated, )

def post(self,request,*args, **kwargs):
    
    user_making_request = request.user
    if not user_is_admin(user_making_request):
        return UserNotAdminResponse()

    attachments = request.FILES.getlist('attachment', None)
    
    serializer = JourReportCreateUpdateSerializer(data=request.data,partial=True,context={'attachments': attachments})
    valid = serializer.is_valid(raise_exception=True)
    if valid:
        

        serializer.save()
        
        status_code = status.HTTP_201_CREATED

        return SuccessfulResponse(data=request.data, message="Jour report successfully registered!" ,status_code=status_code)

    return ErrorResponse()

Сериализатор

 def create(self, validated_data):
    users = []
    attachments = self.context['attachments']
    if "additional_workers" in validated_data:
        users = [w.id for w in validated_data["additional_workers"]]
        del validated_data["additional_workers"]
    
    report = JourReport.objects.create(**validated_data)
    
    for a in attachments:
        JourAttachment.objects.create(file=a,jourreport=report)
    rerturn report

В результате получается ValueError: I/O operation on closed file, и я понятия не имею почему.

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