未解析的属性引用'对象'为了课堂' Foo'在PyCharm

时间:2014-12-05 03:52:20

标签: python ide pycharm

为什么我看到一个类的模型是一个类的子模型.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不会对任一文件中的import语句发出警告。

2 个答案:

答案 0 :(得分:7)

您的pycharm版本社区还是专业人士。如果你的pycharm是社区,也许它需要一个插件来支持django。如果您的pycharm是专业的,请确保。首选项 - >语言和框架---> Django - >启用Django支持。另见enter image description here

中的img

答案 1 :(得分:2)

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

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

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

像这样更新你的代码

class Foo(models.Model):
    // column definitions
    objects = models.Manager()
相关问题