Учебники

TurboGears — SQLAlchemy

Хотя можно использовать SQL в приложении TurboGears для выполнения операций CRUD с любой реляционной базой данных, рекомендуется использовать SQLAlchemy, набор инструментов Python — это мощный инструмент сопоставления объектов, который дает разработчикам приложений полную мощь и гибкость SQL. В дополнение к поддержке баз данных на основе SQL через SQLAlchemy, TurboGears также поддерживает базу данных MongoDB через Ming. В этом разделе обсуждается функциональность SQLAlchemy.

SQL

Что такое ORM (объектно-реляционное сопоставление)?

Большинство платформ языка программирования являются объектно-ориентированными. С другой стороны, данные на серверах РСУБД хранятся в виде таблиц. Сопоставление объектных отношений — это метод сопоставления параметров объекта с базовой структурой таблицы СУБД. API ORM предоставляет методы для выполнения операций CRUD без необходимости писать необработанные операторы SQL.

Орм

Когда проект TurboGears создается с помощью команды «быстрый старт» из набора инструментов коробки передач, поддержка SQLAlchemy по умолчанию включается следующими параметрами конфигурации:

config['use_sqlalchemy'] = True
config['sqlalchemy.url'] = 'sqlite:///devdata.db'

«Быстрый старт» проекта также создает пакет моделей внутри него. Например, у проекта «Hello» будет Hello \ hello \ model. Следующие файлы создаются в этом пакете —

__init__.py — здесь настраивается доступ к базе данных. Объекты модели приложения импортируются в этот модуль. Он также имеет DBSession — глобальный менеджер сеансов, а также DeclarativeBase, который является базовым классом для всех классов моделей.

auth.py — здесь определяются модели, используемые стеком аутентификации. Дополнительные модели базы данных хранятся в этом пакете как отдельный модуль и добавляются в файл __init__.py.