Как проверить содержимое дубликатов файлов

Я проверяю, есть ли в загруженном файле дубликаты этого файла. Я использую косинусное сходство для проверки содержимого.

Это работает хорошо, но я думаю, что такой способ запуска задачи с циклами for для документов, которые уже приняты, против загруженных файлов, которые еще не были приняты (обработаны), непрактичен.

Так что же лучше сделать?

    documents_processing = Document.objects.filter(status='processing')
    documents = Document.objects.filter(status='accepted')
    for processing in documents_processing:
        for document in documents:
            # If cosine similary > .9:
            # Stop and update processing document as status=denied, comment=duplicate

            cosine_similarity = get_cosine_similary(document, processing)
       
            if cosine_similarity > 0.9:
                processing.status = 'denied'
                processing.comment = 'duplicate'
                processing.save()
            else:
                processing.status = 'accepted'
                processing.save()

Какие здесь могут быть предложения для более эффективного кода?

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