title: How to add through option to existing ManyToManyField with migrations and data in django
body: <p>I can't find reference to particular issue in docs or online. </p>
  
  <p>I have an existing many to many relation.</p>
  
  <pre><code>class Books(models.Model):
      name = models.CharField(max_length=100)
  
  class Authors(models.Model):
      name = models.CharField(max_length=100)
      books = models.ManyToManyField(Books)
  </code></pre>
  
  <p>This has migrations and data. Now I need to use through option in order to add one extra field in table holding many to many relation.</p>
  
  <pre><code>class Authorship(models.Model):
      book = models.ForeignKey(Books)
      author = models.ForeignKey(Authors)
      ordering = models.PositiveIntegerField(default=1)
  
  class Authors(models.Model):
      name = models.CharField(max_length=100)
      books = models.ManyToManyField(Books, through=Authorship)
  </code></pre>
  
  <p>When I run migrations, django creates fresh migration for <code>Authorship</code> model. I tried to create migration file manually by adding <code>ordering</code> column in <code>Authorship</code> table and altering <code>books</code> column in <code>Authors</code> table but I get some migration issues.</p>
  
  <pre><code>operations = [
      migrations.AddField(
          model_name='authorship',
          name='ordering',
          field=models.PositiveIntegerField(default=1),
      ),
      migrations.AlterField(
          model_name='authors',
          name='books',
          field=models.ManyToManyField(to='app_name.Books', through='app_name.Authorship'),
      ),
  ]
  </code></pre>
  
  <p>When trying to migrate, it gives <code>KeyError: ('app_name', u'authorship')</code> I bet there are other things that are affected and thus errors.</p>
  
  <p>What things am I missing? Is there any other approach to work with this?</p>