プロジェクトに 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')
だから、これが予想される動作なのか、それとも別の方法があるのか 疑問に思っていますか?