|
|||||||
Вывод настоящего SQL-запроса в SQLAlchemy
Время создания: 24.03.2018 15:51
Автор: br0ke
Текстовые метки: python, sql, sqlalchemy, orm, alchemy, query, db, dbms, postgre, postgres, postgresql
Раздел: Информационные технологии - Python - Библиотеки - SQLAlchemy
Запись: and-semakin/mytetra_data/master/base/1521888718ukz1qnlkxy/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Чтобы получить SQL-запрос, который создает SQLAlchemy, можно просто конвертировать объект запроса в строку: >>> q = DBSession.query(model.Name).distinct(model.Name.value) \ .order_by(model.Name.value) >>> print str(q) SELECT DISTINCT name.id AS name_id, name.value AS name_value FROM name ORDER BY name.value Иногда в случае использования специфичных для СУБД диалектов SQL такой способ будет выводить запрос на "общем", "обычном" SQL, а в СУБД будет отправлять другой, настоящий запрос с использованием диалекта. В таком случае нужно указать конкретный диалог для компиляции запроса. >>> from sqlalchemy.dialects import postgresql >>> print str(q.statement.compile(dialect=postgresql.dialect())) SELECT DISTINCT ON (name.value) name.id, name.value FROM name ORDER BY name.value |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|