from django.db.models.signals import post_save from django.dispatch import receiver import PyPDF2 from io import BytesIO from .models import PDFDocument @receiver(post_save, sender=PDFDocument) def extract_text(sender, instance, created, **kwargs): print("Signal disparado!") # Teste se o Signal está funcionando if created and instance.file: pdf = PyPDF2.PdfReader(instance.file) text = [] for page in pdf.pages: text.append(page.extract_text()) instance.content = "\n".join(text) instance.save(update_fields=["content"])