python新手,并尝试使用__unicode_
呈现字符串表示。代码是Django模型的一部分。如何编写MyType的__unicode__
,以便在模板中将其表示输出为123 - 123 South ....
class UsAddress(models.Model):
#other fields
zip = us_models.USPostalCodeField()
country = models.CharField(max_length=2)
phone = us_models.PhoneNumberField()
def __unicode__(self):
return self.zip + self.country + self.phone
class MyType(models.Model):
code = models.IntegerField()
address = UsAddress
def __unicode__(self):
return str(self.code) + " - " + unicode(self.address) #self.address.__unicode__()
输出:
<MyType: 219 - <class 'web.models.UsAddress'>>
至少在我的情况下,问题是我没有模仿关系。所以我把它添加到UsAddress。
mt = models.ForeignKey(MyType)
答案 0 :(得分:2)
试试这个:
class MyType(models.Model):
code = models.IntegerField()
address = UsAddress
def __unicode__(self):
return u'%s - %s' % (self.code, self.address)
以下是unicode方法。
然后,您可以在模板中使用它,如下所示:
<p>My object: {{ mytype_obj }}</p>
输出将是:
我的对象:123 - 123南......