在PyCharm中,我有一些代码,如下所示:
class Mixin:
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
kwargs.update({'foo': 'bar'})
return kwargs临时器在super()调用上出现Unresolved attribute reference 'get_form_kwargs' for class 'object'问题。这个问题是100%正确的,但对混入没有帮助。我们有很多具有这种super()模式的mixins。
我知道有一种属性的解决方案,但不是方法的解决方案,在这种解决方案中,您可以为这些未定义的类属性声明类型。例如:
class Mixin:
foo:str我很好奇是否有任何类似的方法可以帮助linter识别混入。
谢谢!
发布于 2021-09-23 18:53:33
尝试以下代码:
class Mixin:
def get_form_kwargs(self):
get_form_kwargs_method = getattr(super(), "get_form_kwargs")
if get_form_kwargs_method and callable(get_form_kwargs_method):
kwargs = get_form_kwargs_method()
else:
kwargs = {}
kwargs.update({'foo': 'bar'})
return kwargshttps://stackoverflow.com/questions/58774465
复制相似问题