PyCharm 中 Django 文档字符串中未解决的引用

Unresolved reference in Django's docstring in PyCharm

我为我的 Django 项目使用 Google 样式 Python 文档字符串 like in this Example。 当我创建一个 class 并在文档字符串中使用属性符号时,Pycharm 总是说 - "Unresolved reference".

class Post(models.Model):
    """
    Class for posts.

    Attributes:
        title(str): Post title.
    """
    title = models.CharField(max_length=120)

我知道 PyCharm 没有看到 titledef __init__() 函数的 self 并写下这个错误,但在 Django 中我从未见过使用 def __init__() for classes 继承自 models.

我该怎么办?这是我的错误还是 PyCharm 在这种情况下看不到上下文?我应该使用 def __init__() 或其他方式还是以其他方式编写文档?

PyCharm 目前似乎不支持此功能。 JetBrains 问题跟踪器中的活跃问题是 https://youtrack.jetbrains.com/issue/PY-16760,请考虑对其进行投票以修复它。如果您想避免在文档字符串中看到这些“未解决的引用”错误,唯一的解决方法是在 Preferences > Editor > Inspections > Unresolved references 中禁用检查。

我过去尝试过的另一个选择是删除“属性:”header 并在与文档字符串其余部分相同的缩进级别上编写我的属性文档。这不再给您警告,但您不再 100% 符合 Google Docstring 样式指南。

我通过在 'Attributes:' 后添加“#noqa”解决了这个问题,因为我不想禁用未解决的引用警告。

所以这将是最终的文档字符串:

"""
Class for posts.

Attributes:  # noqa
    title(str): Post title.
"""

以下对我有用:在你的文档字符串中,写 Attribute: 而不是 Attributes: 会使错误消失。这使您可以保持缩进级别