Я не могу добавить изображение через object.create в Django

Добрый день, пытаюсь вставить изображение в базу через object.create, но оно никак не вставляется, все остальное вставляется до другого изображения.

Создается изображение, которое я уже проверил, и оно корректно загружается как jpg. Но я не могу использовать его иначе, чем через путь, а я хочу, чтобы оно автоматически вставлялось.

Код вставки, который я использую:

stringRegisto = RegistoString.objects.create(string=string_registro,rostosDetectados=frame_io, ecra=estacao_trabalho.owner.photo)

путь по пути, который работает:

stringRegisto = RegistoString.objects.create(string=string_registro, rostosDetectados="/rostos/frame_io.jpg", ecra=estacao_trabalho.owner.photo)

Views.py

    def run_recognition(self, request, frame):
    print("Executando reconhecimento facial...")
    
    rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    # Encontra as localizações das faces no frame
    face_locations = face_recognition.face_locations(rgb_frame)
    # Captura as caracteristicas faciais
    face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)

    face_names = []
    
    last_face_names = request.session.get('last_face_names', [])

    _, frame_encoded = cv2.imencode('.jpg', frame)
    cv2.imwrite('frames/frame_io.jpg', frame)
    frame_io = ContentFile(frame_encoded.tobytes())


    if len(face_encodings) >= 2: # Se houver mais de um rosto no frame
        self.no_face_count = 0
        print("Dois rostos na imagem.")
        face_names = []

        for face_encoding in face_encodings:
            matches = face_recognition.compare_faces(self.known_face_encodings, face_encoding)
            name = "Unknown"
            if True in matches:
                first_match_index = matches.index(True)
                name = self.known_face_names[first_match_index]
            face_names.append(name)
            estacao_trabalho = EstacaoTrabalho.objects.get(uuid=self.uuid)

        # Ordena os nomes por ordem alfabética
        face_names.sort()
        
        print("Rostos reconhecidos:", ", ".join(face_names))

        estacao_owner_name = estacao_trabalho.owner.name
        
        # Verifica se houve mudança nos rostos reconhecidos

        if last_face_names == face_names:
            print("Rostos reconhecidos permanecem os mesmos, não criando registro.")
        else:
            # Verifica se o owner da EstacaoTrabalho tem um nome diferente dos rostos reconhecidos
            if estacao_trabalho.owner:  # Verifica se a estação de trabalho tem um proprietário
                # Se tiver um proprietário, atribui o nome do proprietário à variável estacao_owner_name
                print("Owner da estação de trabalho:", estacao_trabalho.owner.name)
                estacao_owner_name = estacao_trabalho.owner.name
            else:
                print("Estação de trabalho sem proprietário.")
                # Se não tiver um proprietário, atribui uma string vazia à variável estacao_owner_name
                estacao_owner_name = ""
                

            string_registro = f"{', '.join(face_names)} estão a visualizar a tela de {estacao_owner_name} na estacao {estacao_trabalho.name}"

            if not frame_io:
                raise ValueError("Nenhuma imagem fornecida")

            stringRegisto = RegistoString.objects.create(string=string_registro, rostosDetectados="/rostos/frame_io.jpg", ecra=estacao_trabalho.owner.photo)
            stringRegisto.save()

            print("Registro de string criado:", string_registro)
            request.session['last_face_names'] = face_names

Модели

=======

class RegistoString(models.Model): #Tabela RegistosString
string = models.CharField(max_length=100, null=True)
rostosDetectados = models.ImageField(upload_to='rostos/',null=True)
ecra = models.ImageField(upload_to='ecra/',null=True)

def __str__(self):
    return self.string
Вернуться на верх