使用django时安静pylint误报

时间:2010-08-10 09:24:09

标签: python django pylint

使用Django时,我想要安静地解决一些pylint错误。导致最大刺激的两个是从django.db.models.Model派生并访问对象和django.test.TestCase。首先,pylint抱怨任何使用属性'objects'的代码,说它不是成员。在第二个,在对测试用例添加七个测试之后,它抱怨公共方法太多(我猜测TestCase有十四个)

我知道这个问题的第一部分是问题115977的重复,但是这个问题有点陈旧,没有一个解决方案非常好,所以我认为我会解决这个问题。

我不想简单地压制pylint中的抱怨,因为我喜欢在其他情况下看到它们。

3 个答案:

答案 0 :(得分:7)

最简单,如果您的问题代码不受您的控制(例如自动生成),则禁用您知道它们是虚假的区域中的投诉。直接从the message that first introduced this solution复制示例:

1  class foo:
2    # pylint: disable=W1234
3    def bar(self):
4      # pylint: disable=W4321
5      pass
6    def gnurz(self):
7      pass

答案 1 :(得分:5)

我不喜欢重复自己,但这里的答案确实有效: https://stackoverflow.com/a/31000713/78234
从答案: 不要通过添加ignoresgenerated-members来禁用或削弱Pylint功能 使用积极开发的理解 Django的Pylint插件 This Pylint plugin for Django效果很好:

pip install pylint-django

当运行pylint时,在命令中添加以下标志:

--load-plugins pylint_django

详细博文here

答案 2 :(得分:4)

如果您不关心某些pylint的警告,例如不存在的成员(E1101)和太多的公共方法(R0904),您可以通过以下方式轻松关闭它:

pylint --disable=E1101,R0904

如果您只对几个检查器感兴趣,可以像这样运行pylint:

pylint --enable=basic,variables,classes,design,imports,newstyle,exceptions,format,miscellaneous,metrics,similarities