【发布时间】:2014-01-28 16:23:38
【问题描述】:
我是 Django 新手。我刚从 C++ 搬过来。当我想重写类方法时,我有一个问题。为什么我们需要调用当前的类名?例如
class MyStuff( models.Model ):
def __init__(self, *args, **kwargs):
super(MyStuff, self).__init__(*args, **kwargs) #calling super "MyStuff" instead of "Model"
我不确定 Django 是如何在内心深处工作的。我们为什么不打电话给super(Model, self)?如何调用祖父方法?
【问题讨论】:
-
你的问题是关于 python,而不是 django。这不是类方法。
-
super的规范指南(链接取自 Python 的官方文档):Python’s super() considered super
标签: python django inheritance overriding