Django 3.2.10 Per-site Cache не обновляется после изменения данных

Мой порядок промежуточного ПО выглядит следующим образом,

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    'UsersUI.middleware.MultitenantMiddleware', #This does not change anything except setting a variable called current tenant from request.user and just returns the self.get_response(request) from __call__ method
]

Мои настройки кэша следующие

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

CACHE_MIDDLEWARE_SECONDS = 1000000
CACHE_MIDDLEWARE_KEY_PREFIX = ''

Да, я также создал таблицу кэша. Даже если я делаю жесткую перезагрузку и очищаю кэш браузера, данные не обновляются. Мне нужно очистить всю таблицу кэша, чтобы изменения отразились в кэше. Я не знаю, что пошло не так. Я просто использую кэш для каждого сайта.

Также, не знаю, имеет ли это значение, я низкоуровнево кэшировал значение разрешения следующим образом

from django.core.cache import cache
class CheckActiveSubscription(permissions.BasePermission):
    message = "You don't have an active subscription. Please click here {link} to subscribe."
    def has_permission(self, request, view):
        cache_name = str(request.user.firm.firm_code)+str("permission_cache")
        cache_value = cache.get(cache_name)
        if cache_value:
            # not None and It is True
            return cache_value
        else:
            customer = request.user.firm if not request.user.is_anonymous else None
            if customer :
                print("Customer Exists")
                active_plan = customer.check_permission_stripe_MetaProducts
                if active_plan and active_plan in view.allowed_subscriptions:
                    cache.set(cache_name, True, get_expiring_seconds())#expires at 4 am everyday
                    return True
            return False

Я помню, что кэш обновляется даже после изменения данных, теперь я не знаю, что пошло не так. Может кто-нибудь подсказать мне?

Вернуться на верх