from django.db.models.signals import post_save, post_delete
from django.apps import apps
from django.dispatch import receiver
from ethanicbot.langchain.updater import rebuild_vectorstore
# Dynamically connect signals to all models
for model in apps.get_models():
@receiver(post_save, sender=model)
@receiver(post_delete, sender=model)
def update_vectorstore_on_change(sender, **kwargs):
rebuild_vectorstore()