相关疑难解决方法(0)

Python类型提示和上下文管理器

如何使用Python类型提示注释上下文管理器?

import typing

@contextlib.contextmanager
def foo() -> ???:
    yield
Run Code Online (Sandbox Code Playgroud)

关于contextlib文档并未提及类型.

关于typing.ContextManager文档也不是那么有用.

还有typing.Generator,至少有一个例子.这是否意味着我应该使用typing.Generator[None, None, None]而不是typing.ContextManager

import typing

@contextlib.contextmanager
def foo() -> typing.Generator[None, None, None]:
    yield
Run Code Online (Sandbox Code Playgroud)

python mypy

19
推荐指数
6
解决办法
3314
查看次数

Pycharm SqlAlchemy自动完成无法正常工作

我正在使用SQLAlchemy和Pycharm,但PyCharm无法看到SQLAlchemy的方法用于自动完成功能.

码:

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)
Run Code Online (Sandbox Code Playgroud)

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

如何为SQLAlchemy进行自动完成工作?

1)是的,项目被多次重新加载
2)是的,文件中的右侧翻译| 设置| 项目
3)是的,PyCharm没有处于省电模式
4)是的,我有专业版.

python sqlalchemy autocomplete pycharm flask-sqlalchemy

10
推荐指数
2
解决办法
2056
查看次数