Представляю Вам свой перевод официального туториала, который носит нескромное название: “От чайника к алхимику”. В ходе перевода мне пришлось внести немалое количество правок и дополнений, так что по сути перед вами находится от части независимый текст, который можно и нужно рассматривать в отрыве от оригинального. Более того, я решил оформить данный туториал в виде книги.

SQLAlchemy Unified Tutorial — SQLAlchemy 2.0 Documentation

Оригинальный туториал на английском языке

Текст данной книги всё же основан на официальном туториале, который распространяется бесплатно и общедоступно (поэтому данный перевод распространяется также), и в нем немало повторений, не всегда сохраняется нить повествования, и в конце концов он был наполнен сложными для понимания выражениями. Я постарался сгладить углы и максимально структурировал все рассуждения авторов, при этом удалив множественные повторения, лишние фразы и сложные словесные конструкции. Но ничего не идеально: возникло немало слов, которые сложно переводятся на русский (например, Mapping, Declarative Base и др.), поэтому для них были использованы наиболее подходящие слова на русском: для Mapping было выбрано “ассоциативный массив”, а для Declarative Base - “декларативный базис”.

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

Данный туториал объединяет и Core и ORM части, чтобы дать наиболее полное представление об алхимии для новичков.

Также необходимо сказать, что в новой версии 2.0 (полностью совместимой с 1.4) ORM использует похожий на Core метод создания запросов, в том числе с получением объектов в виде select() запроса (а не query() как это было в прошлых версиях). Таким образом соединения Core и сессии в ORM в настоящий момент эквивалентны.

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

Предисловие

1. Введение

2. Соединения и машина соединений

3. Работа с транзакциями и DBAPI

4. Работа с метаданными

5. Работа с данными

6. Манипуляции с данными в ORM

7. Работа со связями

Послесловие