Django cache.set () verursacht einen doppelten Schlüsselfehler
Meine Django-Site hat kürzlich Fehler aus meinem Caching-Code geworfen, und ich kann nicht herausfinden, warum ...
Ich rufe:
from django.core.cache import cache
cache.set('blogentry', some_value)
Und der von Django geworfene Fehler ist:
TransactionManagementError: This code isn't under transaction management
Betrachtet man jedoch die PostgreSQL-Datenbankprotokolle, so scheint dies auf diesen Fehler zurückzuführen zu sein:
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"
Für das Leben von mir kann ich nicht herausfinden, warum Django versucht, ein INSERT anstelle eines UPDATE zu machen. Irgendwelche Gedanken?