Fork me on GitHub

Июль 22–23

PyCon Russia 2018

Рус Eng

Денис Катаев, Тинькофф

SQLAlchemy: Python vs Raw SQL

Мы ежедневно работаем с реляционными базами данных: изменяем объекты, накатываем миграции, создаем индексы. Но иногда нужно агрегировать данные по нескольким полям или хочется попробовать свежие возможности реляционных баз данных, например, оператор Union. Django или PeeWee умеют выражать только простые вещи, поэтому приходится использовать сырой SQL.

А вот библиотека SQLAlchemy может выразить любой сложный запрос на чистом Питоне. Это позволяет писать понятный код и с легкостью его рефакторить.

Разберемся на примерах, как SQLAlchemy устроена изнутри, как она упрощает нашу работу и когда стоит ее применять (спойлер — всегда).