title: Django rename model. New django_content_type is created instead of renaming the old record
body: <p>Setup:</p>
  
  <p>Django 1.7 | Postgres 9.x</p>
  
  <pre><code>class Buildings(BaseModel):
      number = models.CharField(max_length=25)
  
  class TestGeneric(models.Model):
  
      content_type = models.ForeignKey(ContentType)
      object_id = models.PositiveIntegerField()
      content_object = GenericForeignKey()
  </code></pre>
  
  <p>Let's say I created a <code>TestGeneric</code> instance, associated it with a <code>Building</code> and saved it:</p>
  
  <pre><code>TestGeneric.objects.create(content_object=Building.objects.first())
  </code></pre>
  
  <p>Now I rename <code>Buildings</code> to <code>Building</code> and run <code>makemigrations</code>. I'm prompted <code>Did you rename the app.Buildings model to Building? [y/N]</code></p>
  
  <p>I choose yes. I then run <code>migrate</code> and get:</p>
  
  <pre><code>The following content types are stale and need to be deleted:
  
  app | buildings
  
  Any objects related to these content types by a foreign key will also
  be deleted. Are you sure you want to delete these content types?
  If you're unsure, answer 'no'.
  </code></pre>
  
  <p>Regardless of what I answer Django automatically will create a new row in <code>django_content_type</code> with <code>building</code> as the name and label. Is there any way to just rename the <code>ContentType</code> so that all of my TestGeneric rows aren't blown away?</p>