Python超类错误

时间:2016-02-07 19:04:49

标签: python django oop

这里我发布了一些我不理解的代码。

请帮助我:

代码 -

def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.filters['assigned'].extra.update(
            {'to_field_name': User.USERNAME_FIELD})

但是当我尝试这段代码时,super()上出现语法错误,我不知道为什么?

  

python 2.7版本不支持超级应该具有的语法   python2中的参数

实际上这段代码是什么意思??

提前致谢

1 个答案:

答案 0 :(得分:2)

来自super上的文档:

super(type, obj) -> bound super object; requires isinstance(obj, type)
   super(type) -> unbound super object
   super(type, type2) -> bound super object; requires issubclass(type2, type)
   Typical use to call a cooperative superclass method:
   class C(B):
       def meth(self, arg):
           super(C, self).meth(arg)

你没有给super提供任何参数,所以它不知道在Python2上做什么。对于适用于Python2和Python3的解决方案,请尝试super(C, self)