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>
Model TourCategory
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
的名称的目标答案 0 :(得分:1)
Python使用Class'__unicode__
方法(或__str__
方法,如果您不使用unicode)来显示该对象的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
,但是我写了它,所以你可以测试有没有它。