python - SQLAlchemy 引擎和 session 对象的类型提示

标签 python sqlalchemy mypy type-hinting

我正在尝试向我的 SQLAlchemy 脚本添加类型提示:

connection_string: str = "sqlite:///:memory:"
engine = create_engine(connection_string)
session = Session(bind=engine)
reveal_type(engine)
reveal_type(session)

我已针对 mypy 运行此脚本,但两种类型均返回为 Anyenginesession 变量应该是什么类型?

最佳答案

弄清楚了:

connection_string: str = "sqlite:///:memory:"
engine = create_engine(connection_string)
session = Session(bind=engine)
print(type(engine))   # sqlalchemy.engine.base.Engine
print(type(session))  # sqlalchemy.orm.session.Session

因此,类型提示是通过以下方式实现的:

from sqlalchemy.engine.base import Engine

def test_func(engine: Engine):
    pass

关于python - SQLAlchemy 引擎和 session 对象的类型提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56118095/

相关文章:

python - 如何查找数据帧中的值及其后面的值?

python - 在 Python 中使用 numpy/scipy 记录非常小的值

python - 在 Python 中按子值对字典进行排序

python - SQL 注入(inject)保护是否内置于 SQLAlchemy 的 ORM 或核心中?

python - mypy AnyStr 在简单示例的赋值中给出了不兼容的类型

python - 使用 Mypy 与类继承的混淆 - 列表与序列

python - 如何使用opencv + python检测不同角度的人脸

python - 将列添加到 sqlalchemy 查询的 SELECT 子句

python - SQLAlchemy 中需要多少个 Base 或 MetaData 实例?

python - "Union[int, str]"的索引类型 "Union[List[Any], Dict[Any, Any]]"无效;预期类型 "int"