From 88ab4de75768d106b842057c1780097938555ad1 Mon Sep 17 00:00:00 2001 From: Gilang Chandrasa Date: Tue, 30 Apr 2013 13:14:59 +0700 Subject: [PATCH] Change invalidate_cache function --- cached_auth/__init__.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cached_auth/__init__.py b/cached_auth/__init__.py index b914b6b..7da5f4d 100644 --- a/cached_auth/__init__.py +++ b/cached_auth/__init__.py @@ -49,11 +49,12 @@ def profile_preprocessor(user, request): user_preprocessor = profile_preprocessor -def invalidate_cache(sender, instance, **kwargs): - if isinstance(instance, User): - key = CACHE_KEY % instance.id +def invalidate_cache(sender, user, **kwargs): + """ user should be User instance or user primary key """ + if isinstance(user, User): + key = CACHE_KEY % user.id else: - key = CACHE_KEY % instance.user_id + key = CACHE_KEY % user cache.delete(key) @@ -78,9 +79,6 @@ class Middleware(object): def __init__(self): post_save.connect(invalidate_cache, sender=User) post_delete.connect(invalidate_cache, sender=User) - if profile_model: - post_save.connect(invalidate_cache, sender=profile_model) - post_delete.connect(invalidate_cache, sender=profile_model) def process_request(self, request): assert hasattr(request, 'session'), "The Django authentication middleware requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."