Метод get_label_style
Метод get_label_style класса Select возвращает текущий стиль меток,
который определяет способ формирования имен для анонимных колонок в результирующем наборе.
Стиль меток влияет на то, как SQLAlchemy именует колонки, не имеющие явного имени,
например при использовании функций агрегации или выражений.
Метод не принимает параметров и возвращает строковое значение,
соответствующее одному из поддерживаемых стилей меток.
Синтаксис
select_stmt.get_label_style()
Пример
Давайте создадим простой запрос и получим его текущий стиль меток:
from sqlalchemy import select, func
stmt = select(func.count())
print(stmt.get_label_style())
Результат выполнения кода:
"LONG"
Пример
Давайте явно установим стиль меток через параметр label_style
и проверим результат:
from sqlalchemy import select, func
stmt = select(func.count()).label_style("NONE")
print(stmt.get_label_style())
Результат выполнения кода:
"NONE"
Пример
Давайте создадим модель и запрос с несколькими колонками, чтобы увидеть, как стиль меток влияет на итоговый SQL:
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
class Base(DeclarativeBase):
pass
class Article(Base):
__tablename__ = 'articles'
id: Mapped[int] = mapped_column(primary_key=True)
title: Mapped[str]
text: Mapped[str]
status: Mapped[str]
num: Mapped[int]
Теперь выполним запрос с агрегатной функцией и стилем меток LABEL_STYLE_TABLENAME_PLUS_COL:
from sqlalchemy import select, func
from models import Article
stmt = select(
func.count(Article.id).label(None)
).label_style("LABEL_STYLE_TABLENAME_PLUS_COL")
print(stmt.get_label_style())
Результат выполнения кода:
"LABEL_STYLE_TABLENAME_PLUS_COL"
Смотрите также
-
класс
Select,
который представляет SQL-запрос SELECT -
метод
options,
который задает опции загрузки для запроса -
метод
add_columns,
который добавляет колонки в запрос -
метод
with_only_columns,
который заменяет список колонок в запросе