Hoe*_*nie 8 django pylint python-3.x
我正在为我的 Django 项目使用pylint-django,我的模型之一如下:
class Registration(models.Model):
date_added = models.DateTimeField(auto_now_add=True)
event = models.ForeignKey(Event, on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
def __str__(self):
first_name = self.user.first_name
last_name = self.user.last_name
return f'{first_name} {last_name}'
Run Code Online (Sandbox Code Playgroud)
运行pylint,我收到以下警告:
events/models.py:61:21: E1101: Instance of 'str' has no 'first_name' member (no-member)
从 pylint-django 的自述文件中,我了解到这是一个已知问题:
“如果您通过名称(作为字符串)引用外键模型,pylint-django 可能无法找到该模型并且会报告问题,因为它不知道该字段的基础类型是什么。”
我的问题是:我应该怎么做才能解决这个问题?我不想压制所有C0111
警告。
非常感谢您的帮助!
PS:我正在使用 pylint-django 作为对使用 Pylint 与 Django 的回答
您可以抑制某个代码块的警告:
class Registration(models.Model):
date_added = models.DateTimeField(auto_now_add=True)
event = models.ForeignKey(Event, on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
def __str__(self):
# pylint: disable=E1101
first_name = self.user.first_name
last_name = self.user.last_name
return f'{first_name} {last_name}'
Run Code Online (Sandbox Code Playgroud)
因此,在这里您只能禁用E1101
该特定__str__
方法。如果您想在同一块中重新启用错误,您可以#pylint: enable=E1101
在块的末尾写下您希望抑制E1101
警告的位置。
归档时间: |
|
查看次数: |
1644 次 |
最近记录: |