Flask SQLAlchemy中的自动完成魔术

时间:2018-07-23 10:31:14

标签: python autocomplete pycharm flask-sqlalchemy python-3.6

下一步,我会看到sqlalchemy的所有方法。

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()
db.func # <- autocomplete magic in PyCharm

它在PyCharm中如何工作?顺便说一句,pylint没有看到它。

以下代码不起作用。

class Test(object):
    def __init__(self):
        _include_sqlalchemy(self, self.__class__)


db = Test()
db.func  # No suggestions :c

1 个答案:

答案 0 :(得分:0)

这可能是因为Pycharm不够聪明,无法意识到dbSQLAlchemy的实例。 (假设Test()创建了SQLAlchemy的实例)

您可以使用类型提示来帮助Pycharm识别各种抽象级别中的对象。

如果您使用的是3.6,则可以添加一个内联提示(我觉得这很简单)。

class Test(object):
    def __init__(self):
        _include_sqlalchemy(self, self.__class__)


db:SQLAlchemy = Test() # <-- add a type hint to let pycharm know what db is.