title: How to convert django model to abstract model if it already has related classes
body: <p>Lets say i have the following base model:</p>
  
  <pre><code>class human(models.Model):
     gender = models.BooleanField()
     age = models.IntegerField()
     name = models.CharField(max_length=200)
  </code></pre>
  
  <p>And two models inheriting it:</p>
  
  <pre><code>class superhero(human):
     can_fly = models.BooleanField()
  
  class villain(human):
     fingerprint = models.ImageField()
  </code></pre>
  
  <p>At some time in my development process i realized that i don't actually need the human class directly. I only need it to be a set of template parameters for superhero and villain models. If now i go to human <code>Meta</code> class and set <code>abstract=True</code> and change my models like so:</p>
  
  <pre><code>class human(models.Model):
     gender = models.BooleanField()
     age = models.IntegerField()
     name = models.CharField(max_length=200)
  
     class Meta:
         abstract = True
  
  class superhero(human):
     can_fly = models.BooleanField()
  
  class villain(human):
     fingerprint = models.ImageField()
  </code></pre>
  
  <p>attempt to make migrations and migrate will raise the following error</p>
  
  <blockquote>
    <p>Local field u'gender' in class 'superhero' clashes with field of similar name from base class 'human'</p>
  </blockquote>
  
  <p>How can i switch to abstract class keeping all my migrations without tinkering the database directly?</p>