模型继承和属性默认值

Joh*_*tta 4 django django-models

我有一个带有类属性和几个子类的主类.我想为每个子类设置默认类别.例如:

class BaseAd(models.Model):
    CATEGORY_CHOICES = ((1, 'Zeta'), (2, 'Sigma'), (3, 'Omega'),)
    category = models.IntegerField(choices=CATEGORY_CHOICES)
    ...

class SigmaAd(BaseAd):
    additional_prop = models.URLField()
    category = models.IntegerField(default=2, editable=False)
Run Code Online (Sandbox Code Playgroud)

当然,由于FieldError,我的示例不起作用.一个人如何"压倒"房产价值?或者它是我应该关注的管理员的功能?

Ign*_*ams 5

你必须__init__()在孩子的方法中覆盖它.检查传递的关键字参数以查看是否category已赋值,如果未将其设置为2将其传递给父级.