Hi all,
In Django 1.1 admin, when I go to add or change an object, my objects are displayed as:
Select host to change
* Add host
Host object
Host object
Host object
Host object
Host object
This happens for all models in my site, not just Hosts.
Rather than display the same name for each object, I would like Django to display the primary key.
Select host to change
* Add host
machine1
machine2
Here is my code:
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')
Reading http://docs.djangoproject.com/en/dev/ref/contrib/admin/:
"ModelAdmin.list_display
Set list_display to control which fields are displayed on the change list page of the admin."
However this simply does not seem to work. Am I doing something wrong?