import structlog from django.core.cache import caches from django.db.models.signals import post_delete, post_save from wagtail.models import Page logger = structlog.get_logger(__name__) def invalidate_api_page_cache(sender, **kwargs): logger.debug('invalidate api_page_cache', label='api_page_cache') caches['api_page_cache'].clear() for subclass in Page.__subclasses__(): post_save.connect(invalidate_api_page_cache, subclass) post_delete.connect(invalidate_api_page_cache, subclass)