在 Django 1.1 admin 中,当我去添加或更改对象时,我的对象显示为:
Select host to change
* Add host
Host object
Host object
Host object
Host object
Host object
我站点中的所有模型都会发生这种情况,而不仅仅是主机。
我希望 Django 显示主键,而不是为每个对象显示相同的名称。
Select host to change
* Add host
machine1
machine2
这是我的代码:
from django.db import models
# Create your models here.
class Host(models.Model):
host = models.CharField(max_length=100,primary_key=True)
class Admin:
list_display = ('host')
class Test(models.Model):
testname = models.CharField(max_length=100,primary_key=True)
class Admin:
list_display = ('testname')
class Result(models.Model):
host = models.ForeignKey(Host)
TESTRESULT_CHOICES = (
('P', 'Pass'),
('F', 'Fail'),
)
testresult = models.CharField(max_length=1, choices=TESTRESULT_CHOICES)
reason = models.CharField(max_length=100)
time = models.DateTimeField()
testname = models.OneToOneField(Test, primary_key=True)
class Admin:
list_display = ('host','testname','time','testresult','reason')
阅读http://docs.djangoproject.com/en/dev/ref/contrib/admin/:
“ModelAdmin.list_display
设置 list_display 以控制在管理员的更改列表页面上显示哪些字段。”
然而,这似乎根本不起作用。难道我做错了什么?