【发布时间】:2014-06-09 22:47:17
【问题描述】:
我正在尝试将 pylint 集成到我们使用 Django (1.6.1) 的本地项目中,并且我已经将它与 Pylint 0.27.0 一起使用,但是现在我已经更新到最新的 1.2.1 一些新错误弹出来,我似乎无法让它们消失。
这是错误的性质:
from django.db import models
class UserData(models.Model):
# data...
fieldA = models.IntegerField(default=0)
fieldB = models.IntegerField(default=0)
# ...
x = UserData(fieldA=1, fieldB=2)
# The above line of code generates errors:
# Unexpected keyword argument 'fieldA' in constructor call (unexpected-keyword-arg)
# Unexpected keyword argument 'fieldB' in constructor call (unexpected-keyword-arg)
# No value for argument 'name' in constructor call (no-value-for-parameter)
# No value for argument 'bases' in constructor call (no-value-for-parameter)
# No value for argument 'attrs' in constructor call (no-value-for-parameter)
我尝试通过在 pylint 检查期间编辑文件来解决这个问题,使用如下:
UserData.__init__ = lambda self, *args, **kwargs: None
但 Pylint 仍然会打印出相同的错误。我也尝试直接将构造函数调用添加到 UserData 对象,但仍然没有运气。
有什么方法可以修改代码或 pylint 设置来消除这些错误?最好不要为整个项目隐藏这些错误。
【问题讨论】:
-
更新:目前我可以通过在运行 pylint 之前运行一个更改我的文件的脚本来避免错误消息。但这似乎比需要做的工作更多。