title: Access fields in Django intermediate model
body: <p>I'm creating a Person Group and Membership as described in Django docs for intermediate model.</p>
  
  <pre class="lang-python prettyprint-override"><code>class Person(models.Model):
    name = models.CharField(max_length=128)
  
    def __unicode__(self):
      return self.name
  
  class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person, through='Membership')
  
    def __unicode__(self):
      return self.name
  
  class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)
  </code></pre>
  
  <p>It is possible to access the Person from a Group object with:</p>
  
  <pre><code>&gt;&gt;&gt;Group.members.name
  </code></pre>
  
  <p>Does Django creates another query to fetch the Person?
  Can I access the <code>date_joined</code> field from a Group object?</p>
  
  <p>The thing that confuses me is that I would expect to get the Person name field with:</p>
  
  <pre><code>&gt;&gt;&gt;Group.members.person.name
  </code></pre>
  
  <p>What happens if a Person has a field 'name' and also the intermediate model have a field 'name'.</p>