我正在从 Django 缓存中删除一条路径,如下所示:
from models import Graph
from django.http import HttpRequest
from django.utils.cache import get_cache_key
from django.db.models.signals import post_save
from django.core.cache import cache
def expire_page(path):
request = HttpRequest()
request.path = path
key = get_cache_key(request)
if cache.has_key(key):
cache.delete(key)
def invalidate_cache(sender, instance, **kwargs):
expire_page(instance.get_absolute_url())
post_save.connect(invalidate_cache, sender = Graph)
这行得通-但是有没有办法递归删除?我的路径如下所示:
/graph/123 /graph/123/2009-08-01/2009-10-21
每当保存 id 为“123”的图形时,两条路径的缓存都需要失效。这可以做到吗?