Mar*_*jko 5 python sqlalchemy flask-sqlalchemy mypy
我碰到下面的问题来了的组合flask_sqlalchemy
和mypy
。当我定义一个新的 ORM 对象时:
class Foo(db.Model):
pass
Run Code Online (Sandbox Code Playgroud)
其中db
使用SQL Alchemy创建的数据库应用于flask
应用程序,mypy
类型检查会产生以下错误:
错误:类不能子类化“模型”(类型为“Any”)
我想提一下,我已经sqlalchemy-stubs
安装了。有人可以帮我解决这个错误吗?
在的 存根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)
这将忽略所有非致命错误