【问题标题】:How to override a field in the parent class如何覆盖父类中的字段
【发布时间】:2011-10-17 09:13:51
【问题描述】:

我在 Django 模型中有父类和子类。我想在初始化子类时填写父类中的一个字段。或在子类中覆盖此字段。

    class Parent(models.Model):
        type = models.CharField()

    class Child(Parent):
        type = models.CharField()  //Doesn't work

也尝试覆盖 init 方法,但它也不起作用。 我怎样才能做到这一点?

【问题讨论】:

    标签: python django class overriding


    【解决方案1】:

    在正常的 Python 类继承中,允许子类覆盖父类的任何属性。在 Django 中,这对于作为 Field 实例的属性是不允许的(至少目前不允许)。如果基类有一个名为 author 的字段,则不能在继承自该基类的任何类中创建另一个名为 author 的模型字段。

    你不能。 Reference

    【讨论】:

      猜你喜欢
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      相关资源
      最近更新 更多