La sua non è difficile invalidare una particolare cache del modello in DjangoDjango - scadenza cache del modello Django in base a variabili
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)
però ho una situazione in cui ho bisogno di eliminare tutti i frammenti memorizzati nella cache che hanno avuto una certa variabile passato a loro. Ad esempio, elimina tutti i frammenti memorizzati nella cache relativi al marchio automobilistico "Toyota".
{% cache 100000 car_content car.brand %}
In sostanza esiste un modo per ottenere tutti i cache_keys in base a un determinato insieme di criteri? Ho pensato pericolosamente a cambiare il sorgente della cache, ma mi chiedevo se ci potesse essere una soluzione migliore a questo problema.