我有一个记忆的 Django 模型管理器方法,如下所示:
class GroupManager(models.Manager):
def get_for_user(self, user):
cache_key = 'groups_%s' % (user.id)
if not hasattr(self, key):
groups = get_groups_somehow()
setattr(self, cache_key, groups)
return getattr(self, cache_key)
但是记忆值在请求/响应周期之外仍然存在;即在服务器重新启动之前,不会在后续请求中重新计算该值。这一定是因为管理器实例没有被销毁。
那么,我怎样才能正确地记住模型管理器方法呢?