РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
325 of 711 menu

Атрибут key класса Column

Атрибут key класса Column хранит строковый ключ колонки. Этот ключ используется для доступа к колонке из объекта таблицы, а также для сопоставления колонки с атрибутом ORM-класса. По умолчанию ключ совпадает с именем колонки, но его можно задать явно параметром key при создании колонки.

Синтаксис

column.key

Пример

Давайте создадим колонку и выведем ее ключ:

from sqlalchemy import Column, Integer, String, Table, MetaData metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), ) print(articles.c.id.key) print(articles.c.title.key)

Результат выполнения кода:

"id" "title"

Пример

Давайте зададим ключ колонки явно параметром key:

from sqlalchemy import Column, Integer, String, Table, MetaData metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('article_title', String, key='title'), ) print(articles.c.title.key) print(articles.c.title.name)

Результат выполнения кода:

"title" "article_title"

Пример

Давайте используем ключ колонки для доступа к ней через атрибут c таблицы:

from sqlalchemy import Column, Integer, String, Table, MetaData metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('article_title', String, key='title'), ) col = articles.c.title print(col.key) print(col.name) print(col.type)

Результат выполнения кода:

"title" "article_title" VARCHAR

Пример

Давайте посмотрим, как ключ колонки влияет на имя атрибута в ORM-классе:

from sqlalchemy import Column, Integer, String from sqlalchemy.orm import DeclarativeBase class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id = Column(Integer, primary_key=True) article_title = Column('title', String, key='title')

В этом примере колонка в базе данных называется title, но в ORM-классе доступ к ней осуществляется через атрибут title, а не article_title.

Смотрите также

  • класс Column,
    который представляет колонку таблицы
  • атрибут name,
    который хранит имя колонки в базе данных
  • атрибут type,
    который хранит тип данных колонки
  • атрибут table,
    который ссылается на таблицу колонки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить