유니 코드를 만들려고하는데 상속 테이블에서 필드를 가져 오려고합니다. 이처럼 : 나는 봉투 모델에서 유니 코드를 만드는거야 내가 EnvelopeBase의 모델 인 "self.name"를 얻으려고추상화없이 부모 클래스에서 기본 모델의 필드에 액세스
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)
알 수 있습니다. 오류가 발생하지 않았지만 출력이 null입니다. 봉투 모델에 ENvelopeBase 모델의 이름 필드에 액세스하는 방법?
UPDATE :
난 할 노력하고있어 것은 예를 들어 다음과 같은 범주 및 봉투 이름을 표시입니다 :
하자 내가 = 카테고리 = '저축'봉투 '유지 보수'가 있다고
def __unicode__(self):
//the self.name here return null
return "{0}: {1}".format(self.category, self.name)
Output: "Savings: maintenance"
을하지만 내 문제는 ONL입니다 :
출력 (유니 코드 구현에서)해야합니다 y * 저축 (카테고리) *은 유지 관리 없음 (봉투)입니다. self.name 내가
예기치 않은 결과를 얻기 위해이 모델을 어떻게 사용하는지 간단한 코드 스 니펫을 보여줄 수 있습니까? –
업데이트 해 주셔서 감사합니다. 나는 이런 것을 찾고있다. 'envelope = Envelope (name = 'Sam', category = some_category_instance); envelope.save(); 인쇄 (봉투); print (envelope .__ unicode __())' 현재 모델에서 제공되는 출력은 어떻습니까? –
@ZebDeOs 저장하지 않겠습니다. 나는 그들을 표시하려고하고있다. – catherine