Перед тем, как начать что-то подобное, я определенно хотел бы попробовать такие проекты, как django-cache-machine или johnny-cache , они делают кеширование моделей и делают это красиво.
Я думаю, что кэш johnny лучше подходит вашим потребностям, поскольку он никогда не истекает кэширования наборов запросов.
Я не уверен, что вы имеете в виду под "данными кеша недоступны", но выможно легко решить несколькими способами (например, используя постоянный кеш-сервер, например, redis).
Это еще одна вещь, которую я хотел бы попробовать до того, как вы собираетесь реализовать кэширование базы данных, если вам нужно нечто большее, чем кэширование наборов запросов.
Утилиты кеширования Django поставляются с красивым декоратором кеша (@cached) (см. Документы и пример здесь ), который выполняет кэширование на основе параметров