Django/Visual Studio教程 - 对象方法错误

Bil*_*ong 4 django visual-studio python-3.x

我正在研究Django教程(这里).我在Mac上使用visual studio,VS在这段代码上一直显示错误:

latest_question_list = Question.objects.order_by('-pub_date')[:5]
Run Code Online (Sandbox Code Playgroud)

错误读取Class 'Question' has no 'objects' member.

这个例子构建了一个Questions Class实际上并没有直接拥有objects成员的例子,但代码运行正常,我认为Django中有一个内置成员objects.

因此,这让我相信visual studio调试器正在引发一个实际上并不存在的错误.

有没有办法来解决这个问题?

我查看preferences/settingextensions查看是否有一个插件或设置引用可以用于Django以清除Visual Studio中的错误 - 我没有看到任何内容.

Gan*_*egi 6

这不是错误,只是来自Visual Studio代码的警告.objects是一个Manager由django动态添加到我们的模型类的实例.当VS Code检查类声明时,它没有在那里找到对象声明,因此警告我们可能的错误.

在Visual Studio代码中,python扩展使用pylint作为默认linter.

要正常工作,您可以在本地安装pylint:

pip install pylint
Run Code Online (Sandbox Code Playgroud)

或者,您也可以通过在(用户或工作区设置文件)中的任何一个中配置以下属性来禁用linting,如下所示:

"python.linting.enabled": false
Run Code Online (Sandbox Code Playgroud)

对于django项目,您可以通过修改User或Workspace设置来自定义pylint插件,如下所示:

"python.linting.pylintArgs": ["--load-plugins", "pylint_django"]
Run Code Online (Sandbox Code Playgroud)