声明派生类的对象的基类的初始化属性

时间:2019-03-09 09:01:07

标签: python django django-models

基类-

class Base:
    x = models.CharField(max_length=10)

派生类-

class Derived(Base):
    ...

我如何声明一个Derived类的对象,该对象初始化x如下所示,而不在Derived类中添加构造函数。这种语法会产生错误:x不是Derived的成员。

obj = Derived(x='foo')

1 个答案:

答案 0 :(得分:0)

如果这些应该是Django模型,那么它们应该继承自Model

class Base(models.Model):
    x = models.CharField(max_length=10)

class Derived(Base):
    pass

这样,呼叫d = Derived(x='foo')应该可以正常工作。


注意:如果您不希望基类拥有自己的数据库表,则可以在Meta类中另外使用abstract = True