django网站管理(输入数据)

时间:2010-10-27 14:37:21

标签: python django

我有一个django网站。 myapp / models.py的片段如下所示:

class Continent(models.Model):
    name = models.CharField(max_length=128, db_index=True, unique=True)


class GeographicRegion(models.Model):
    continent = models.ForeignKey(Continent, null=False)
    name =  models.CharField(max_length=128, null=False)

当我尝试添加新的地理区域时,当我单击下拉列表(选择控件)以选择一个大陆时,下拉列表中的唯一值(选项)为:

continent object
continent object
continent object
continent object
continent object
continent object

我期待看到大陆的名字,所以我可以在每个大陆创建相关的地理区域。如何在列表中显示名称而不是“大陆对象”?

提示:我在myapp / admin.py中将 str(self) repr (自我)方法添加到我的ContinentAdmin模型中,如下所示:

的myapp / admin.py

 58 class ContinentAdmin(admin.ModelAdmin):
 59    def __repr__(self):
 60        return self.name
 61 
 62 admin.site.register(Continent,ContinentAdmin)

,但这没有(可观察到的)效果

1 个答案:

答案 0 :(得分:2)

您需要在模型中定义__unicode__方法:

def __unicode__(self):
  return self.name