Flask SQL Alchemy vs MyPy - 模型类型错误

Mar*_*jko 5 python sqlalchemy flask-sqlalchemy mypy

我碰到下面的问题来了的组合flask_sqlalchemymypy。当我定义一个新的 ORM 对象时:

class Foo(db.Model):
    pass
Run Code Online (Sandbox Code Playgroud)

其中db使用SQL Alchemy创建的数据库应用于flask应用程序,mypy类型检查会产生以下错误:

错误:类不能子类化“模型”(类型为“Any”)

我想提一下,我已经sqlalchemy-stubs安装了。有人可以帮我解决这个错误吗?

Mks*_*Mks 5

在的 存根flask_sqlalchemy得到正式支持之前,您可以改为使用sqlalchemy.orm.DeclarativeMeta“别名” to ,如此回复中db.Model指出的:

from sqlalchemy.ext.declarative import DeclarativeMeta

BaseModel: DeclarativeMeta = db.Model


class Foo(BaseModel):
    pass
Run Code Online (Sandbox Code Playgroud)


小智 -4

在问题解决之前,您可以通过 mypy.ini 为您的项目 设置更忠实的配置 MyPy

[mypy]
ignore_errors = True
Run Code Online (Sandbox Code Playgroud)

这将忽略所有非致命错误