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