我试图创建unicode和我想从继承表中获取该领域。就像这样:访问父类中的基础模型的领域,而不抽象
class EnvelopeBase(models.Model):
name = models.CharField(
max_length=50
)
...........
class Envelope(EnvelopeBase):
category = models.ForeignKey(
EnvelopeCategory,
blank=True, null=True
)
........
def __unicode__(self):
return "{0}: {1}".format(self.category, self.name)
注意,我在信封模型创建Unicode,我试图让“self.name”,这是从EnvelopeBase模型。我没有得到错误,但输出为空。如何访问Envelope模型中的ENvelopeBase模型中的名称字段?
UPDATE:
我想要做的就是这样的,例如显示分类和信封名称:
让说我有类=“储蓄”和包络=“维护”
输出必须是(从Unicode的实现):
def __unicode__(self):
//the self.name here return null
return "{0}: {1}".format(self.category, self.name)
Output: "Savings: maintenance"
但我的问题是ONL ÿ* 储蓄(类别) *示无需维护(信封)。该self.name是从中我试图访问外围模型
你能展示一个关于如何使用这些模型来获得意外输出的简化代码片段吗? – 2013-03-05 04:00:28
感谢您的更新。我正在寻找这样的东西: 'envelope = Envelope(name ='Sam',category = some_category_instance); envelope.save(); print(envelope); print(envelope .__ unicode __())' 根据您当前的模型,输出结果会是什么样的? – 2013-03-05 04:17:59
@ZebDeOs我没有保存它。我试图展示他们。 – catherine 2013-03-05 04:24:15