【问题标题】:Unresolved attribute reference 'objects' for class 'Foo' in PyCharmPyCharm 中“Foo”类的未解析属性引用“对象”
【发布时间】:2015-02-03 04:25:18
【问题描述】:

为什么我会看到作为 models.Model 子类的类的此警告(Foo 定义为类 Foo(models.Model))?这是我使用 Foo.objects.filter(...) 的地方。

用一个简化的例子回应更多细节的请求:

# ------ models.py ---------
from django.db import models

class Foo(models.Model):
    pass

# ------ views.py ---------
from models import Foo

inquiry = Foo.objects.filter(...)  # PyCharm gives warning for objects here
    ...

PyCharm 不会对任一文件中的导入语句发出警告。

【问题讨论】:

标签: python ide pycharm


【解决方案1】:

你的pycharm版本是社区的还是专业的?如果你的 pycharm 是社区的,也许它需要一个插件来支持 django。如果您的 pycharm 是专业的,请确保在:Preferences > Languages&Frameworks > Django > Enable Django Support 中选择了该选项。这是图片:

【讨论】:

  • 谢谢,这就是我的问题。
  • 2021,这仍然是相关的。
【解决方案2】:

有更好的方法来解决这个问题

当您在 PyCharm 中启用 Django 支持时,它会自动检测到这是一个模型,并且对象引用模型管理器

您可以在您的 models.py 本身中指定它,这是首选方法和最佳编码方式

像这样更新你的代码

class Foo(models.Model):
    // column definitions
    objects = models.Manager()

【讨论】:

    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 2018-06-08
    • 2021-05-16
    • 2021-04-06
    • 2021-08-27
    • 2021-08-13
    相关资源
    最近更新 更多