2010-01-13 36 views
3

场景:如何在Django中为子类提供基类属性的默认值?

class BaseClass(models.Model): 
    base_field = models.CharField(max_length=15, default=None) 

class SubClass(BaseClass): 
    # TODO set default value if base_field's value is None 
    ... 

即。我需要能够将一个灯具加载到数据库中,仅当base_field为None时才提供默认值。任何帮助非常感谢! (注意:BaseClass不是抽象的)

回答

3

您可以覆盖save方法,检查是否设置了base_field,否则将其设置为默认值。

+0

是的,这是我不想采取的路径,但它的作品如此好。我希望更像构造函数__new__或__init__,但我不完全理解那些工作的方式,所以我想我会跟你的建议。谢谢! – mkelley33 2010-01-13 15:00:25

相关问题