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

Класс Sequence

Класс Sequence создает объект последовательности базы данных. Последовательности часто используются для генерации уникальных числовых значений, например, для первичных ключей. Класс принимает имя последовательности, а также может принимать дополнительные параметры, такие как начальное значение, шаг инкремента и схема.

Синтаксис

Sequence(name, [start], [increment], [schema])

Пример

Давайте создадим простую последовательность с именем article_id_seq и выведем информацию о ней:

from sqlalchemy import Sequence seq = Sequence('article_id_seq') print(seq.name)

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

"article_id_seq"

Пример

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

from sqlalchemy import Sequence seq = Sequence('article_num_seq', start=100, increment=5) print(seq.start) print(seq.increment)

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

100 5

Пример

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

from sqlalchemy import create_engine, Column, Integer, String, Sequence from sqlalchemy.orm import DeclarativeBase class Base(DeclarativeBase): pass article_id_seq = Sequence('article_id_seq') class Article(Base): __tablename__ = 'articles' id = Column(Integer, article_id_seq, primary_key=True) title = Column(String(100)) engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) from sqlalchemy.orm import Session with Session(engine) as session: article = Article(title='article') session.add(article) session.commit() print(article.id)

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

1

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

  • класс Sequence,
    который представляет последовательность базы данных
  • метод next_value,
    который возвращает следующее значение последовательности
  • метод create,
    который создает последовательность в базе данных
  • атрибут name,
    который хранит имя последовательности
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить