Automatic caching for django models