Python Pycharm SqlAlchemy自动完成不起作用

Python Pycharm SqlAlchemy自动完成不起作用,python,autocomplete,sqlalchemy,pycharm,flask-sqlalchemy,Python,Autocomplete,Sqlalchemy,Pycharm,Flask Sqlalchemy,我正在使用SQLAlchemy和Pycharm,但Pycharm无法看到自动完成函数的SQLAlchemy方法 代码: 例如,如果我想调用User类的SQLAlchemy方法,我必须手动键入完整的方法名User.query.filter_by(username='peter').first() 如何让自动完成为SQLAlchemy工作? 1) 是的,项目多次重新加载 2) 是,文件|设置|项目中的右解释器 3) 是,PyCharm未处于省电模式 4) 是的,我有专业版PyCharm(或任何其他

我正在使用SQLAlchemy和Pycharm,但Pycharm无法看到自动完成函数的SQLAlchemy方法

代码:

例如,如果我想调用User类的SQLAlchemy方法,我必须手动键入完整的方法名User.query.filter_by(username='peter').first()

如何让自动完成为SQLAlchemy工作?

1) 是的,项目多次重新加载
2) 是,文件|设置|项目中的右解释器
3) 是,PyCharm未处于省电模式
4) 是的,我有专业版

PyCharm(或任何其他IDE)找不到大多数方法(
query()
add()
commit()
等),因为它们没有在
flask\u sqlalchemy.sqlalchemy
类中定义。SQLAlchemy方法在初始化期间动态添加到
flask\u SQLAlchemy.SQLAlchemy
对象。您可以在以下目录中找到此初始化函数:

仅用于测试:您可以从sqlalchemy.orm导入查询中键入
。我想PyCharm会发现它的物品很好

我不能建议任何解决方案,也许这里的其他人知道动态添加属性自动完成的可能性。

类用户(db.Model):
query:db.query#在此处键入提示
__tablename_uu='users'
id=db.Column(db.Integer,主键=True)
username=db.Column(db.String(16),index=True,unique=True)
添加类型提示
query:db.query

可能存在的副本
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.sqlite3'
db = SQLAlchemy(app)


class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(16), index=True, unique=True)

if __name__ == '__main__':
    db.create_all()
    app.run(debug=True)
def _include_sqlalchemy(obj):
    for module in sqlalchemy, sqlalchemy.orm:
        for key in module.__all__:
            if not hasattr(obj, key):
                setattr(obj, key, getattr(module, key))