Mon site Django a récemment commencé à lancer des erreurs de mon code de mise en cache et je ne peux pas comprendre pourquoi ...Django cache.set() provoquant clé doublon
J'appelle:
from django.core.cache import cache
cache.set('blogentry', some_value)
Et l'erreur lancée par Django est:
TransactionManagementError: This code isn't under transaction management
Mais en regardant les journaux de base de données PostgreSQL, il semble provenir de cette erreur:
STATEMENT: INSERT INTO cache_table (cache_key, value, expires) VALUES (E'blogentry', E'pickled_version_of_some_value', E'2009-07-27 11:10:26')
ERROR: duplicate key value violates unique constraint "cache_table_pkey"
Pour la vie de moi, je n'arrive pas à comprendre pourquoi Django essaie de faire un INSERT au lieu d'un UPDATE. Des pensées?
Est-ce que la mise en mémoire cache n'est pas mise en cache dans la base de données? – thedz
Dépend de ce que vous mettez en cache. –
Je l'ai édité à "blogentry" là-bas, mais il est en train de mettre en cache toute une série de données connexes pour un widget de la barre latérale du blog. –