diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-01-28 14:56:17 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-01-28 16:29:05 -0500 |
commit | 4cae82d51f80c8a7e1a23b26c74b07e01059b804 (patch) | |
tree | d5c4e3b683611e9ecdda2e120aab2ea304edc67d /test/ext/mypy/plain_files/mapped_column.py | |
parent | 586df197615d91af56aefc0d5ff94ceac13154eb (diff) | |
download | sqlalchemy-4cae82d51f80c8a7e1a23b26c74b07e01059b804.tar.gz |
Place DDLConstraintColumn Role in Mapped
Fixed typing issue where :func:`_orm.mapped_column` objects typed as
:class:`_orm.Mapped` wouldn't be accepted in schema constraints such as
:class:`_schema.ForeignKey`, :class:`_schema.UniqueConstraint` or
:class:`_schema.Index`.
Fixes: #9170
Change-Id: I41c76d224a1fa2377de151d2a713ba3f43bd245c
Diffstat (limited to 'test/ext/mypy/plain_files/mapped_column.py')
-rw-r--r-- | test/ext/mypy/plain_files/mapped_column.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/test/ext/mypy/plain_files/mapped_column.py b/test/ext/mypy/plain_files/mapped_column.py index 14f4ad845..26f5722a6 100644 --- a/test/ext/mypy/plain_files/mapped_column.py +++ b/test/ext/mypy/plain_files/mapped_column.py @@ -1,7 +1,10 @@ from typing import Optional +from sqlalchemy import ForeignKey +from sqlalchemy import Index from sqlalchemy import Integer from sqlalchemy import String +from sqlalchemy import UniqueConstraint from sqlalchemy.orm import DeclarativeBase from sqlalchemy.orm import Mapped from sqlalchemy.orm import mapped_column @@ -44,9 +47,10 @@ class X(Base): c: Mapped[str] = mapped_column(nullable=True) d: Mapped[str] = mapped_column(nullable=False) - e: Mapped[Optional[str]] = mapped_column(nullable=True) + e: Mapped[Optional[str]] = mapped_column(ForeignKey(c), nullable=True) - f: Mapped[Optional[str]] = mapped_column(nullable=False) + f1 = mapped_column(Integer) + f: Mapped[Optional[str]] = mapped_column(ForeignKey(f1), nullable=False) g: Mapped[str] = mapped_column(String) h: Mapped[Optional[str]] = mapped_column(String) @@ -88,3 +92,5 @@ class X(Base): String, nullable=False, ) + + __table_args__ = (UniqueConstraint(a, b, name="uq1"), Index("ix1", c, d)) |