第not章一个错误这只是linter无法理解Django的大量元编程.Django的模型有很多魔力.例如,如果你定义了一个字段foo = models.IntegerField()
,那么self.foo
就是not和IntegerField
,但是int
是那个记录.
这种元编程可能可以被一个聪明的Linterer理解,但它需要大量的分析.
PyCharm专业版有一个包含一些推理的Linter.r.t.Django的元编程,尽管(很可能)很多都是硬编码的.也有一些工具,如pylint-django`,对Django有一定的了解.
但因此没有错误,只是这linter人被搞糊涂了.