title: Django can't display model.id in change form?
body: <p>I have a model Post whose data I would like to display in model Favorite's Admin. </p>
  
  <p>Post model:</p>
  
  <pre><code>class Post(models.Model):
      nickname = models.CharField(max_length=50, default="anonymous")
  
      def __unicode__(self):
          return self.id
  </code></pre>
  
  <p>Favorite model:</p>
  
  <pre><code>class Favorite(models.Model):
      user = models.ForeignKey(User, unique=False)
      post = models.ForeignKey(Post, unique=False)
  
      def __unicode__(self):
          return self.user.username
  
      def get_post_nickname(self):
          return self.post.nickname
  </code></pre>
  
  <p>Favorite Admin:</p>
  
  <pre><code>class FavoriteAdmin(admin.ModelAdmin):
      #fields = ('user', 'get_post_nickname')
      list_display= ('user', 'post')
  
      def save_model(self, request, obj, form, change):
          obj.save()
  
  admin.site.register(Favorite, FavoriteAdmin)
  </code></pre>
  
  <ol>
  <li><p>If I use the code as such, when I try to add a Favorite through its Admin I get the following error:</p>
  
  <blockquote>
    <p>Caught TypeError while rendering: coercing to Unicode: need string or buffer, int found</p>
  </blockquote></li>
  <li><p>OK so it doesn't like to display an Integer, so I thought I'll just display the nickname since its a Charfield. I uncommented the first line in FavoriteAdmin() to call FavoriteModel.get_post_nickname(). Now I get the following error:</p></li>
  </ol>
  
  <blockquote>
    <p>'FavoriteAdmin.fields' refers to field 'get_post' that is missing from the form.</p>
  </blockquote>
  
  <p>How can I solve both #1 and #2? Is it not possible to call a method in fields()? I thought it would be since list_display() accepts a method.</p>