我試圖創建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