Представляю Вам свой перевод официального туториала SQLAlchemy, который носит нескромное название: “От чайника к алхимику”. В ходе перевода мне пришлось внести немалое количество правок и дополнений, поэтому перед вами находится от части независимый текст, который можно и нужно рассматривать в отрыве от оригинального. Также я решил оформить данный туториал в виде книги.
SQLAlchemy Unified Tutorial — SQLAlchemy 2.0 Documentation
Оригинальный туториал на английском языке
Официальный туториал распространяется бесплатно и общедоступно и поэтому данный перевод распространяется также. По ходу работу я заметил, что в нем было немало повторений, не всегда сохраняется нить повествования, и в конце концов был наполнен сложными для понимания словесными конструкциями и выражениями. Я постарался сгладить углы и максимально структурировал все рассуждения авторов, при этом удалив множественные повторения, лишние фразы и многое другое. Но, к сожалению, ничто не идеально, по ходу перевода, наоборот, текст становился местами сложнее. Возникло немало слов, которые сложно переводятся на русский (например, Mapping, Declarative Base и др.), поэтому для них были использованы наиболее подходящие слова на русском: для Mapping было выбрано “ассоциативный массив”, а для Declarative Base - “декларативный базис”. Использованием англицизмов я постарался пренебречь настолько насколько это было возможно.
Надеюсь, книга поможет многим разработчикам в освоении такого важного и мощного инструмента как SQLAlchemy, ведь сам туториал написан непосредственно ее разработчиками и охватывает почти все аспекты алхимии. Данный текст будет содержать огромнейшее количество деталей, так что по окончании его прочтения вы можете гордо назвать себя алхимиками.
И в конце необходимо сказать, что данный перевод основан на старой версии 1.4, в новой версии 2.0 (полностью совместимой с 1.4) ORM использует похожий на Core метод создания запросов, в том числе с получением объектов в виде select() запроса (а не query() как это было в прошлых версиях). Таким образом соединения Core и сессии в ORM в настоящий момент эквивалентны и вы без труда сможете понять принципы работы в 2.0 после освоения 1.4.