我试图在Django中创建一个继承的模型,如下所示。我应该能够调用,对于一个实例superclass = Superclass(),我应该能够调用superclass.subclass,并访问必需的字段。当我这样做的时候,我告诉他们有#1个论点是预期的,并且给出了8个问题':我知道我哪里出错了?
class Superclass(models.Model):
pass
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()
答案 0 :(得分:2)
这里的问题是你需要在子类构造函数和超类构造函数中使用*args
和**kwargs
。这两个字段将接受参数和对象:这些字段包括超类的字段信息,以及对象管理器等。这应该可以解决问题:
class Subclass(Superclass):
def __init__(self, *args, **kwargs):
super(Subclass, self).__init__(*args, **kwargs)