我没有用Django做很多缓存,但我想你想要的是什么signals
.
您可以post_save
在基础对象上设置信号,并使回调函数使缓存中的该页无效.
from django.core.signals import post_save
from django.core.cache import cache
def invalidate_cache(sender, **kwargs):
# invalidate cache
cache.delete(sender.get_absolute_url()) # or any other pertinent keys
post_save.connect(invalidate_cache, sender=UnderlyingModel)
Run Code Online (Sandbox Code Playgroud)
这应该在更新时正确地从缓存中删除该项.