title: Django select_related() and GenericForeignKey
body: <p>I have models like these:</p>
  
  <pre><code>class Comment(models.Model):
      text = models.TextField(max_length = 250, blank = False)
      author = models.ForeignKey(User)
      content_type = models.ForeignKey(ContentType)
      object_id = models.PositiveIntegerField()
      content_object = generic.GenericForeignKey('content_type', 'object_id')
  
  class Product(models.Model):
      name = models.CharField(max_length = 40)
      comments = generic.GenericRelation(Comment)
  </code></pre>
  
  <p>In this template I show the latest 5 comments of all products:</p>
  
  <pre><code>&lt;ul&gt;
      {% for comment in last_comments %}
      &lt;li&gt;&lt;a href="/user/{{ comment.author }}/"&gt;{{ comment.author }}&lt;/a&gt; on &lt;a href="/product/{{ comment.content_object.name }}/"&gt;{{ comment.content_object }}&lt;/a&gt;
      &lt;br&gt;{{ comment.text }}&lt;/li&gt;
      {% endfor %}
  &lt;/ul&gt;
  </code></pre>
  
  <p>If I get <code>last_comments</code> with <code>last_comments = Comment.objects.all().order_by('-id')[:5]</code> django debug toolbar says was performed 25 queries.</p>
  
  <p>If I get <code>last_comments</code> with <code>last_comments = Comment.objects.select_related().all().order_by('-id')[:5]</code> django debug toolbar says was performed 20 queries.</p>
  
  <p>But why <code>select_related</code> doesn't select the related content_object also? In django debug toolbar I see 5 queries for getting the product. And are certainly the consequence of <code>{{ comment.content_object }}</code></p>
  
  <p>Probably the reason is because I use <strong>GenericForeignKey</strong> in <code>Comment</code> model.</p>
  
  <p>Have you ideas about it?</p>