python - PyCharm SQLAlchemy 自动完成

标签 python sqlalchemy pyramid pycharm

我开始评估 PyCharm 3 专业版,因为我将从事几个 Pyramid + SQLAlchemy 项目。 我真正喜欢的功能之一是 SQLAlchemy 自动完成功能。

我在 these 之后用炼金术脚手架创建了一个新的入门项目指示。我还为我在这个项目中使用的解释器和虚拟环境安装了 SQLAlchemy 包。

另外,当我为这段代码创建一个新的pycharm项目时,IDE建议我安装pyramid、sqlalchemy等包。我当然接受了这个建议,让 IDE 安装所有这些包。

models.py文件中,DBSession声明如下:

DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))

在views.py文件中,DBSession是这样使用的:

one = DBSession.query(MyModel).filter(MyModel.name == 'one').first()

所以我开始使用 IDE 并做了类似这样的事情:键入 DBSession。 IDE只是给了我一些建议,其中没有列出“查询”功能。然后我尝试输入:DBSession.query(MyModel)。并按 Ctrl+Space 尝试获取建议,但出现“无建议”消息。

我真的很想在我的 DBSession 变量上使用 SQLAlchemy 函数建议(比如 filterfilter_byfirst , ETC)。我会说这对我来说是强制性的:)

有什么我想念的吗?或者,PyCharm 不支持这个?

最佳答案

我找到的解决方案(从网络上的某个地方获取)是像这样键入提示 DBSession 实例:

DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
""":type: sqlalchemy.orm.Session"""

在此之后,代码完成似乎在项目的任何地方都可以正常工作

关于python - PyCharm SQLAlchemy 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21793590/

相关文章:

Python 脚本未在新行中写入结果 - 新手

python - 如何使用 Flask-sqlalchemy 与额外数据创建多对多关联?

python - 我可以在查询调用中动态更改 order_by 属性吗?

python - SQLAlchemy 核心插入使( Pyramid )作用域 session 挂起

python - 如何使用 Python 库获取 Facebook 访问 token ?

python - 为什么 tkinter.grid() 方法中的 'ipady' 选项仅在小部件下方添加空间?

python - ssl.wrap_socket 在go中的实现

python - 在 SQLAlchemy 中通过 association_proxy 分配一组新的多对多相关标签的最优雅的方法是什么?

python - 'Marshmallow' 对象没有属性 'ModelSchema'

python - 如何使用 Pyramid 获取当前路线