我想使用继承模型的 Meta 类中的属性来配置在继承树更高的抽象模型中定义的字段:
class NamedModel(models.Model):
class Meta:
abstract = True
verbose_name = 'object'
name = models.CharField("Name",
max_length=200,
db_index=True,
help_text="A meaningful name for this %s." % Meta.verbose_name)
# see what I'm trying to do here?
)
...
class OwnedModel(NamedModel):
class Meta(NamedModel.Meta):
verbose_name = 'owned object'
我希望 OwnedModel 表单的名称字段上的帮助文本说“此拥有对象的有意义的名称”。但事实并非如此:缺少“owned”一词,这表明在设置模型时使用了 NamedModel.Meta 中的 verbose_name,而不是 OwnedModel.Meta。
从继承的角度来看,这并不是我所期望的:是否有某种方法可以创建字段,其中 Meta.verbose_name 指的是非抽象模型类上的值,而不是字段所在的抽象类被定义了?
还是我傻?
(这可能看起来像一个微不足道的例子,它是:但这只是为了说明我正在尝试做的更重要和更复杂的事情)
提前谢谢了。