Библиотека Python ORM, которую можно использовать без подключения к базе данных

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

Например, SQLObject не работает, потому что он не работает, когда я не предоставляю соединение, поэтому я не могу использовать его без соединения.

Одним из вариантов является определение отдельных классов, один будет базовым классом, а другой - классом ORM, который наследуется от базового класса и обновляет поля ORM в установщиках для всех исходных полей. ЭТО БЫЛО БОЛЬШОЙ БОЛЕЙ.

Кто-нибудь знает библиотеки, которые позволяют мне определять класс ORM, но не требуют от меня сохранения или выборки из БД?

РЕДАКТИРОВАТЬ: Хорошо, вот пример. Предположим, у меня есть скрипт, который сканирует сеть и составляет список людей и их любимых цветных носков. У меня есть два класса, класс Person и класс Sock. Сценарий предоставляет пользователю возможность либо сохранить обработанные данные (классы Person и Sock) обратно в файл в формате csv, json или в другом формате, отличном от db, либо сохранить информацию в базе данных (sqlite3, mysql)., так далее).

1 ответ

Решение

Я использовал sqlalchemy для того, что вы предлагаете. Это также позволяет вам писать отдельные средства отображения, которые могут быть более согласованы с вашим вариантом использования. Смотрите обе ссылки ниже для двух разных интерфейсов.

Декларативный интерфейс: http://docs.sqlalchemy.org/en/rel_0_8/orm/extensions/declarative.html

Картографы: http://docs.sqlalchemy.org/en/rel_0_8/orm/mapper_config.html

Другие вопросы по тегам