Python: шлюз ORM для моделей от сторонних REST API - PullRequest
0 голосов
/ 04 ноября 2019

Для работы с данными из базы данных внутри программ Python мы обычно используем Object Relational Mappers для преобразования записей базы данных в объекты Python, с которыми мы можем работать, причем модели sqlAlchemy и Django, вероятно, являются наиболее распространенными и продвинутыми ORM.

Существуют ли ORM, которые подключаются не к базе данных, а к стороннему (JSON) REST API? Я хотел бы иметь структуру, которая позволяет мне иметь дело с объектами Python для выполнения операций CRUD над API. Это должно иметь все хорошо установленные стандартные функциональные возможности ORM, включая Unit of Work и Lazy Loading. На самом деле, я бы хотел, чтобы мой код на Python не зависел от того, хранится ли модель в базе данных или извлекается из стороннего API.

Мне трудно представить, что такого еще не существует. Но я не могу его найти. Может быть, я не знаю правильных слов для его поиска?

1 Ответ

1 голос
/ 04 ноября 2019

ORM Фреймворки - это фреймворки, которые подключаются к базам данных. Из вашего описания вы говорите о шаблоне DAO, а не о Framework. Это распространенный шаблон программирования в других языках, таких как Java.

Правильные слова или поиски будут:

  • Поиск шаблона DAO, что от него ожидать и какзакодируйте его.
  • Проверьте несколько ссылок на примеры шаблонов DAO в python, таких как этот или этот другой
  • Проанализируйте свойконкретная проблема. Вам может не понадобиться весь код, который предлагают вам другие решения. И вам может быть лучше написать свой собственный класс, приспособленный к вашим потребностям.

Помните ПОЦЕЛУЙ и DRY .

PS:Разные языки используют разные парадигмы, это распространенная ошибка - пытаться экстраполировать шаблоны и использование кодирования с одного языка на другой. Так что то, что решается, например, в Java, может быть не лучшим вариантом для Python. Помните об этом тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...