使用SQLAlchemy declarative_base()在VS Code中“继承不是类的'Base'”

Gas*_*ino 3 python sqlalchemy python-3.x visual-studio-code

VS代码截图

如下所示,VS代码显示错误消息“继承不是类的'Base'”

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Integer , String , Column

Base = declarative_base()

class Socio(Base):

    __tablename__ = 'socios'
    id = Column(Integer, autoincrement = True , primary_key = True)
    dni = Column(Integer , unique = True)
    nombre = Column(String(250))
    apellido= Column(String(250))
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我该如何解决?

Cha*_*ffy 7

Inheriting 'Base', which is not a class 实际上不是错误。

相反,它是来自Microsoft的Python语言服务器(而后者又大量依赖pylint)进行这种分析的静态分析结果。这并不总是准确的:如果类是由函数动态生成并返回的(如此处所示),则静态检查工具可能无法正确理解其类型。

如中所述microsoft/python-language-server#1390,可以通过更改以下设置来禁用此功能:

"python.analysis.disabled": [
    "inherit-non-class"
],
Run Code Online (Sandbox Code Playgroud)