2010-10-27 38 views
0

我有一個django網站。的myapp/models.py的片段看起來是這樣的:django網站管理(輸入設備數據)

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 

我期待看到大陸的名稱代替,這樣我就可以創建每個洲的相關地理區域。我如何讓名字顯示在列表中而不是'大陸對象'?

提示:我添加STR(個體經營)再版(個體經營)方法,以我的ContinentAdmin模型的myapp/admin.py是這樣的:

的myapp/admin.py

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

,然而這並沒有(觀察到的)效果

回答

2

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

def __unicode__(self): 
    return self.name 
+0

是的,這似乎已經成功了。這在哪裏記錄? - 所以我可以預訂它。此外,無論如何,我可以顯示存儲在數據庫中的對象9的ID),而不必直接看數據庫? – skyeagle 2010-10-27 14:50:37

+1

@skyeagle這一切都記錄在這裏:http://docs.djangoproject.com/en/dev/ref/contrib/admin/我相信你在爲AdminModel尋找list_display選項 – Anpher 2010-10-27 14:54:20

+0

感謝你! – skyeagle 2010-10-27 14:57:09