Карточка Junior SQLAlchemy 2.0 обновлено

Mapped и mapped_column

Вопрос

Что дают Mapped[...] и mapped_column в SQLAlchemy 2.0?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Декларативное описание колонок с аннотациями типов: id: Mapped[int] = mappedcolumn(primarykey=True). Из аннотации выводится тип и nullable (Mapped[str None] допускает NULL), а mypy и IDE знают типы атрибутов.

Ответ

Декларативное описание колонок с аннотациями типов: id: Mapped[int] = mapped_column(primary_key=True). Из аннотации выводится тип и nullable (Mapped[str | None] допускает NULL), а mypy и IDE знают типы атрибутов.

Разбор

Связи описываются relationship() с аннотацией Mapped[list["Order"]] или Mapped["User"].

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме