title: How to correctly use auto_created attribute in django?
body: <p>I need to create my own intermediate model.</p>
  <pre><code>class class1(models.Model):
      pass
  
  class class2(models.Model):
      field1 = models.ManyToManyField(class1, through=&quot;class3&quot;)
  
  class class3(models.Model):
      field1 = models.ForeignKey(class1)
      field2 = models.ForeignKey(class2)
      field3 = models.IntegerField()
  
      class Meta:
          auto_created = True
  </code></pre>
  <p>I use <code>auto_created=True</code> because in the following code, I had the error :</p>
  <p><code>AttributeError: Cannot use add() on a ManyToManyField which specifies an intermediary model.</code></p>
  <pre><code>for m2m_field in self._meta.many_to_many:
      for m2m_link in getattr(self, m2m_field.get_attname()).all():
          getattr(to_object, m2m_field.get_attname()).add(m2m_link)
  </code></pre>
  <p>Now it works fine, but when I try to do a <code>makemigration</code>, django wants to remove my <code>class3</code> (the intermediate class), and removing the <code>through</code> attribute in the <code>field1</code> in <code>class2</code>.</p>
  <p>What am I doing wrong ? Any solutions ?</p>
  <p>Tks all.</p>