Нетрудно аннулировать определенный кеш шаблонов в django
def invalidate_cache_key(fragment_name, *variables):
args = md5_constructor(u':'.join([urlquote(var) for var in variables]))
cache_key = 'template.cache.%s.%s' % (fragment_name, args.hexdigest())
cache.delete(cache_key)
Однако у меня есть ситуация, когда мне нужно удалить все кэшированные фрагменты, которым передана определенная переменная. Например, удалить все кэшированные фрагменты об автомобиле марки «Тойота».
{% cache 100000 car_content car.brand %}
По сути, есть ли способ получить все cache_keys на основе определенного набора критериев? Я опасно думал об изменении источника кеша, но мне было интересно, может ли быть лучшее решение этой проблемы.