vbv/server/vbv_lernwelt/course/signals.py

17 lines
506 B
Python

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)