我有一个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)
,但这没有(可观察到的)效果
答案 0 :(得分:2)
您需要在模型中定义__unicode__
方法:
def __unicode__(self):
return self.name