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

Класс Constraint

Класс Constraint представляет собой базовый класс для всех ограничений базы данных в SQLAlchemy. Он наследуется от ColumnCollectionConstraint и служит основой для таких ограничений, как первичный ключ, внешний ключ, уникальность и проверочные ограничения. Конструктор класса принимает имя ограничения, а также флаги deferrable и initially для управления отложенной проверкой.

Синтаксис

Constraint(name, deferrable, initially)

Пример

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

from sqlalchemy import Constraint constraint = Constraint('my_constraint') print(constraint)

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

"Constraint('my_constraint')"

Пример

Давайте используем ограничение при определении таблицы через Table:

from sqlalchemy import MetaData, Table, Column, Integer, String, Constraint metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String(100)), Column('status', String(20)), Constraint('status_check', status_in_check := True) ) print(articles.constraints)

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

"{Constraint('status_check')}"

Пример

Давайте создадим таблицу с ограничением и посмотрим итоговый SQL-запрос:

from sqlalchemy import MetaData, Table, Column, Integer, String, Constraint from sqlalchemy.schema import CreateTable from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String(100)), Constraint('title_unique', title := True) ) print(CreateTable(articles).compile(engine))

Итоговый SQL запрос:

CREATE TABLE articles ( id INTEGER NOT NULL, title VARCHAR(100), PRIMARY KEY (id), CONSTRAINT title_unique CHECK (title) )

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

  • класс PrimaryKeyConstraint,
    который определяет первичный ключ таблицы
  • класс ForeignKeyConstraint,
    который определяет внешний ключ таблицы
  • класс UniqueConstraint,
    который обеспечивает уникальность значений
  • класс CheckConstraint,
    который задает проверочное ограничение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить