summaryrefslogtreecommitdiff
path: root/test/ext/mypy/plain_files/mapped_column.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2023-01-28 14:56:17 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2023-01-28 16:29:05 -0500
commit4cae82d51f80c8a7e1a23b26c74b07e01059b804 (patch)
treed5c4e3b683611e9ecdda2e120aab2ea304edc67d /test/ext/mypy/plain_files/mapped_column.py
parent586df197615d91af56aefc0d5ff94ceac13154eb (diff)
downloadsqlalchemy-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.py10
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))