diff options
Diffstat (limited to 'test/ext/mypy/plugin_files/relationship_err1.py')
| -rw-r--r-- | test/ext/mypy/plugin_files/relationship_err1.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/ext/mypy/plugin_files/relationship_err1.py b/test/ext/mypy/plugin_files/relationship_err1.py new file mode 100644 index 000000000..ba3783f05 --- /dev/null +++ b/test/ext/mypy/plugin_files/relationship_err1.py @@ -0,0 +1,31 @@ +from typing import List + +from sqlalchemy import Column +from sqlalchemy import ForeignKey +from sqlalchemy import Integer +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relationship + +Base = declarative_base() + + +class B(Base): + __tablename__ = "b" + id = Column(Integer, primary_key=True) + + # EXPECTED: Expected Python collection type for collection_class parameter # noqa + as_: List["A"] = relationship("A", collection_class=None) + + # EXPECTED: Can't infer type from ORM mapped expression assigned to attribute 'another_as_'; # noqa + another_as_ = relationship("A", uselist=True) + + +class A(Base): + __tablename__ = "a" + + id = Column(Integer, primary_key=True) + b_id: int = Column(ForeignKey("b.id")) + + # EXPECTED: Sending uselist=False and collection_class at the same time does not make sense # noqa + # EXPECTED_MYPY_RE: No overload variant of "relationship" matches argument types + b: B = relationship(B, uselist=False, collection_class=set) |
