title: Using ModelSerializer with joined records
body: <p>I am trying to make a tool for drawing diagrams on the web. I have a model like so:</p>
  
  <pre><code>class PlaneableItem(Model):
      name = models.CharField(max_length=NAME_LENGTH, blank=True)
  
  class View(PlaneableItem):
      # Some useful details
  
  class Anchor(Model):
      view = models.ForeignKey(View)
      planeable = models.ForeignKey(PlaneableItem)
  
  class BlockRepresentation(Anchor):
      # Useful details
  
  class LineRepresentation(Anchor):
      # Useful details
  </code></pre>
  
  <p>I try to make a rest API that returns lists of all blocks and lines for a specific view, including the name of the planeable that they refer to.</p>
  
  <p>I can get a queryset for this using:</p>
  
  <pre><code>qs = BlockRepresentation.objects.filter(view=theview).all()
  qs.select_related('planeable')
  qs.extra(select={'name': 'rest_api_planeableitem.name'})
  </code></pre>
  
  <p>However, now I can't use a ModelSerializer on it, because the field 'name' is not part of the BlockRepresentation.</p>
  
  <p>I really like ModelSerializers, is there a better way of doing this?</p>