0

我在一个项目中使用 johnny-cache (1.6.1a) 和 Django 1.6。

我有一个实现 TaggableManger 的模型:

class Publication(models.Model):
    title = models.CharField(max_length=255, db_index=True)
    editor = models.ForeignKey(Employee, blank=True, null=True=)
    ....
    keywords = TaggableManager('Keywords', blank=True)

关键字没有被 johnny-cache 自动失效。所以我使用了一个 post_save 信号来做到这一点。

我尝试传递对象名称,例如 ,invalidate('Tag')但它从未奏效。

这样做:

def johhny_clear_cache(sender, instance, **kwargs):
    if sender.__name__ in ['Tag', 'Publication']:
        johnny.cache.invalidate('taggit_taggeditem', 'taggit_tag')

所以我想知道这是否是预期的行为,还是有其他方法?

4

1 回答 1

0

不要使用 johnny-cache,它被 Django >= 1.6 破坏了。改用django-cachalot :)

于 2015-02-24T10:01:22.150 回答