Django 显示“TourCategory 对象”字符串而不是 TourCategory 的名称
Django displays `TourCategory object` string instead of TourCategory's name
class New(models.Model):
.....
category = models.ForeignKey(TourCategory, verbose_name="Tour Category")
在浏览器中
<select id="id_category" name="category">
<option value="" selected="selected">---------</option>
<option value="1">TourCategory object</option>
<option value="2">TourCategory object</option>
<option value="3">TourCategory object</option>
</select>
模型游览类别
from django.db import models
class TourCategory(models.Model):
name = models.CharField(max_length=200, verbose_name="Name")
class Meta:
verbose_name = 'Tour Category'
verbose_name_plural = 'Tour categories'
目标是让它显示 TourCategory 的名称
Python 使用 Class' __unicode__
方法(如果不使用 unicode,则使用 __str__
方法)来显示该对象的 object representation
。
Django 使用此方法在管理站点中显示对象。
因此您必须定义或修复 __unicode__
(或 __str__
)
class TourCategory(models.Model):
name = models.CharField(max_length=200, verbose_name="Name")
def __unicode__(self):
return unicode(self.name)
def __str__(self):
return self.name
Look here for the documentation。通常你不需要投
self.name
到 unicode
,但我写它是为了让你可以测试有无它。
class New(models.Model):
.....
category = models.ForeignKey(TourCategory, verbose_name="Tour Category")
在浏览器中
<select id="id_category" name="category">
<option value="" selected="selected">---------</option>
<option value="1">TourCategory object</option>
<option value="2">TourCategory object</option>
<option value="3">TourCategory object</option>
</select>
模型游览类别
from django.db import models
class TourCategory(models.Model):
name = models.CharField(max_length=200, verbose_name="Name")
class Meta:
verbose_name = 'Tour Category'
verbose_name_plural = 'Tour categories'
目标是让它显示 TourCategory 的名称
Python 使用 Class' __unicode__
方法(如果不使用 unicode,则使用 __str__
方法)来显示该对象的 object representation
。
Django 使用此方法在管理站点中显示对象。
因此您必须定义或修复 __unicode__
(或 __str__
)
class TourCategory(models.Model):
name = models.CharField(max_length=200, verbose_name="Name")
def __unicode__(self):
return unicode(self.name)
def __str__(self):
return self.name
Look here for the documentation。通常你不需要投
self.name
到 unicode
,但我写它是为了让你可以测试有无它。