Не очищается кэш вьюхи, хотя вызов метода cache.delete_pattern по паттерну, при срабатывания сигнала, возвращает кол-во удалённых ключей
# settings.py
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': REDIS_URL,
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient',
}
}
}
# urls.py
path(
'trajectories',
cache_page(20, key_prefix=TRAJECTORIES_LIST_CACHE_KEY)
(TrajectoriesListCreateAPIView.as_view()),
name=LIST_CREATE_TRAJECTORY_URL
)
# views.py
class TrajectoriesListCreateAPIView(generics.ListCreateAPIView,
SystemObjectViewMixin):
"""
POST: Создание профиля(траектории)
GET: Список профилей(траекторий) системы с метриками
"""
serializer_class = TrajectoryModelSerializer
queryset = Trajectory.objects.with_metrics()
# handlers.py
@receiver(post_save, sender=Trajectory)
def clear_view_cache_on_trajectory_save(sender, **kwargs):
deleted_keys = cache.delete_pattern(f'*{LIST_CREATE_TRAJECTORY_URL}*')