【问题标题】:Django/Visual Studio Tutorial - objects method errorDjango/Visual Studio 教程 - 对象方法错误
【发布时间】:2018-10-01 18:15:57
【问题描述】:

我正在学习 Django 教程 (here)。我在 Mac 上使用 Visual Studio,VS 一直在此代码上显示错误:

latest_question_list = Question.objects.order_by('-pub_date')[:5]

错误为Class 'Question' has no 'objects' member

该示例构建了一个Questions Class,实际上它并没有直接具有objects 成员,但代码运行良好,我认为Django 中有一个内置成员具有objects

这让我相信 Visual Studio 调试器引发了一个实际上并不存在的错误。

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

我查看了preferences/settingextensions 以查看是否有插件或设置引用可用于 Django 以清除 Visual Studio 中的错误 - 我什么也没看到。

【问题讨论】:

    标签: django python-3.x visual-studio


    【解决方案1】:

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

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

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

    pip install pylint
    

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

    "python.linting.enabled": false
    

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

    "python.linting.pylintArgs": ["--load-plugins", "pylint_django"]
    

    【讨论】:

    • 谢谢 - 我启用了 pylint,但缺少 django 插件。添加插件删除了警告。完美。
    【解决方案2】:

    对于在“用户设置”中出现“预期逗号”错误的任何人,请将逗号放在前一个参数和后一个 "python.linting.pylintArgs": ["--load-plugins", "pylint_django"]

    必须是这样的:

    {
        "python.pythonPath": "C:\\Program Files (x86)\\Python37-32\\python.exe",
        "python.linting.pylintEnabled": true,
        "python.linting.enabled": true,
        "[python]": {
    
        },
        "python.linting.pylintArgs": [
            "--load-plugins", "pylint_django"
        ],
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多