Как реализовать модели без поддержки базы данных в Django?

у меня было существующее приложение Django с довольно типичной реализацией модели, опирающейся на базу данных. Моя задача состоит в том, чтобы изменить эту модель, чтобы вместо получения информации из базы данных, теперь он получает его из службы (например, через HTTP). Поскольку существует существующий код, который уже использует эту модель, было бы неплохо сохранить тот же интерфейс модели, чтобы он продолжал вести себя как типичная модель Джанго.

Это поднимает несколько вопросов:

  • Можно сделать это без необходимости переписывать интерфейс с нуля, чтобы он выглядел как интерфейс модели Django? (Этот вопрос о стековом потоке может показаться иначе: Шаблон Django MVC для моделей, не управляемых базой данных? )

  • Было бы подходящим подходом написать собственный менеджер для этой модели (или я неправильно понял роль manager)?

  • Из-за сервисного характера новой модели кэширование будет гораздо важнее, чем раньше. Это то, что должно быть реализовано на уровне модели?

6
задан Community 23 May 2017 в 11:48
поделиться