Skip to main content

Django Cache Magic

Project description


Cache magic addresses two common scenarios for caching and cache invalidation
for django models: *instance caching* and *related objects caching*.

Instance caching: Storing instances of objects in your cache layer
as well as your database.

Related objects caching: Storing a collection of objects related to another
object referenced by relational constraints (ForeignKey, ManyToMany, etc.)

pip install -e "git+"

To start autocaching model instances, add a CacheController to your model:

from django.db import models
from cachemagic import CacheController

class myModel(models.Model):
f1 = models.IntegerField()
f2 = models.TextField()

cache = CacheController()


When using cachemagic, you should avoid django operations that update multiple
rows at once, since these operations typically don't emit the signals that
cachemagic relies on for cache invalidation. This includes methods like

Find the complete documentation at [](

Big thanks to [Travis Fischer]( for drafting
a lot of documentation and tests!

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-cache-magic, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size django-cache-magic-0.1.0.tar.gz (16.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page