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

Метод get_pk_constraint

Метод get_pk_constraint класса Inspector возвращает словарь с информацией о первичном ключе таблицы. Первым параметром метод принимает имя таблицы table_name, вторым необязательным параметром передается имя схемы schema. Метод возвращает словарь с ключами constrained_columns и name.

Синтаксис

inspector.get_pk_constraint(table_name, [schema])

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String from sqlalchemy import inspect engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), ) metadata.create_all(engine) inspector = inspect(engine) res = inspector.get_pk_constraint('articles') print(res)

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

{'constrained_columns': ['id'], 'name': None}

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String from sqlalchemy import inspect engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('num', Integer, primary_key=True), Column('title', String), ) metadata.create_all(engine) inspector = inspect(engine) res = inspector.get_pk_constraint('articles') print(res)

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

{'constrained_columns': ['id', 'num'], 'name': None}

Пример

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

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, PrimaryKeyConstraint from sqlalchemy import inspect engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer), Column('title', String), PrimaryKeyConstraint('id', name='pk_articles_id'), ) metadata.create_all(engine) inspector = inspect(engine) res = inspector.get_pk_constraint('articles') print(res)

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

{'constrained_columns': ['id'], 'name': 'pk_articles_id'}

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

  • класс Inspector,
    который предоставляет доступ к метаданным базы
  • метод get_columns,
    который возвращает список столбцов таблицы
  • метод get_foreign_keys,
    который возвращает информацию о внешних ключах
  • метод get_unique_constraints,
    который возвращает информацию об уникальных ограничениях
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить