title: Django manytomany with extra field - in some cases
body: <p>My db structure looks like this:</p>
  
  <pre><code>Person
    name
  
  Group
    name
  
  PersonGroup
    id
    person_id
    group_id
  
  InvitedPersonGroup
    person_group_id
    invited_reason
  </code></pre>
  
  <p>Person and Group has many to many relation through PersonGroup, However sometimes the relation will be unique since those people got an invite, and the relation should be through InvitedPersonGroup.</p>
  
  <p>How can I use <code>through</code> by dynamically?</p>
  
  <pre><code>    class Group(models.Model):
          name = models.CharField(max_length=128)
          members = models.ManyToManyField(Person, 
  through='PersonGroup or InvitedPersonGroup')
  
          def __unicode__(self):
              return self.name
  </code></pre>