from __future__ import annotations from django.db.models.signals import post_delete, post_save from django.dispatch import receiver from .models import SensitiveWord from .versioning import bump_sensitive_words_version @receiver(post_save, sender=SensitiveWord) @receiver(post_delete, sender=SensitiveWord) def invalidate_sensitive_words_cache(**kwargs) -> None: bump_sensitive_words_version() try: from .providers.keyword import reset_keyword_matcher_cache except Exception: return reset_keyword_matcher_cache()