Что есть ORM? Отображение логических или физических сущностей БД на объекты программы.
Источник данных - это сервис. Драйвер соединения - ваш код, который отправляет запросы в чужой API и получает ответ, обрабатывая ошибки, когда они возникают. В чем собственно проблема?
Ну да, вам придется явно закодировать объекты, которые предоставят интерфейс для взаимодействия с данными API вместо магии метапрограммирования django orm. Или простота вас и смущает?
Оберните данные внешнего API в классы, разбив их согласно логике использования, и пользуйте любой привычный вам фреймворк. Можете даже привычные active record или repository реализовать, если в контексте задачи это оправдано.