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+https://github.com/ntucker/django-cache-magic#egg=cachemagic"
To start autocaching model instances, add a CacheController to your model:
from django.db import models
from cachemagic import CacheController
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 [django-cache-magic.readthedocs.org](http://django-cache-magic.readthedocs.org/).
Big thanks to [Travis Fischer](https://github.com/travisfischer) for drafting
a lot of documentation and tests!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.