我有一个使用 Flask-SQLAlchemy (v2.0) 的 Flask (v0.10.1) 应用程序,我正在尝试配置 Pylint 来检查它。使用 Python 3.4.2 运行。
第一个错误是:
Instance of 'SQLAlchemy' has no 'Table' member (no-member)
我修复了这个,忽略了 SQLAlchemy 上的成员属性检查:
ignored-classes=SQLAlchemy
但是我对实体的查询成员有问题:
Class 'UserToken' has no 'query' member (no-member)
有什么方法可以解决这个问题,而不必在每次查询调用时都忽略无成员错误?
烧瓶引导程序:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
app = Flask(__name__)
db.init_app(app)
app.run()
UserToken 实体:
from app import db
class UserToken(db.Model):
user_token_id = db.Column(db.Integer, primary_key=True, index=True)
token_auth = db.Column(db.String(64), unique=True, nullable=False, index=True)
控制器:
from entities import UserToken
token = UserToken.query.filter(
UserToken.token_auth == token_hash,
).first()
原文由 Pedro Teixeira 发布,翻译遵循 CC BY-SA 4.0 许可协议
解决方案
pip install pylint-flask
pip install pylint-flask-sqlalchemy
加载已安装的插件。
例如,如果您使用 VS 代码,请按如下方式编辑 settings.json 文件:
"python.linting.pylintArgs": ["--load-plugins", "pylint_flask_sqlalchemy", "pylint_flask"]
可选的
如果有其他警告,请在
generated-members
文件中的pylintrc
文件中定义其余成员。