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 に答える