  
  For these situations, Django allows you to specify the model that will be used
  to govern the many-to-many relationship. You can then put extra fields on the
  intermediate model. The intermediate model is associated with the
  ``ManyToManyField`` using the ``through`` argument to point to the model
  that will act as an intermediary. For our musician example, the code would look
  something like this::
  
      class Person(models.Model):
          name = models.CharField(max_length=128)
 
</s> remove and the groups of which they are a member, so you could use a ManyToManyField
to represent this relationship. However, there is a lot of detail about the
membership that you might want to collect, such as the date at which the person
joined the group.
 </s> add and the groups of which they are a member, so you could use a
:class:`~django.db.models.ManyToManyField` to represent this relationship.
However, there is a lot of detail about the membership that you might want to 
collect, such as the date at which the person joined the group. </s> remove ``first_name`` and ``last_name`` are :term:`fields <field>` of the model. Each
 </s> add ``first_name`` and ``last_name`` are :ref:`fields` of the model. Each </s> remove define a ``OneToOneField`` on your model, instances of that model will have
access to the related object via a simple attribute of the model.
 </s> add define a :class:`~django.db.models.OneToOneField` on your model, instances of
that model will have access to the related object via a simple attribute of the
model. </s> remove Now that you have set up your ``ManyToManyField`` to use your intermediary 
model (Membership, in this case), you're ready to start creating some
many-to-many relationships. You do this by creating instances of the
intermediate model::
 </s> add Now that you have set up your :class:`~django.db.models.ManyToManyField` to use
your intermediary model (Membership, in this case), you're ready to start
creating some many-to-many relationships. You do this by creating instances of
the intermediate model:: </s> remove       ``symmetrical=False`` (see the documentation for
      ``ManyToManyField`` above).
 </s> add       :attr:`symmetrical=False <ManyToManyFields.symmetrical>` (see 
      :ref:`the model field reference <manytomany-arguments>`).
:class:`~django.db.models.ManyToManyField` using the 
:attr:`through <ManyToManyFields.through>` argument to point to the model
  
  For these situations, Django allows you to specify the model that will be used
  to govern the many-to-many relationship. You can then put extra fields on the
  intermediate model. The intermediate model is associated with the
:class:`~django.db.models.ManyToManyField` using the 
:attr:`through <ManyToManyFields.through>` argument to point to the model
  that will act as an intermediary. For our musician example, the code would look
  something like this::
  
      class Person(models.Model):
          name = models.CharField(max_length=128)
keep keep keep keep replace keep keep keep keep keep
 Fixed a handful of typo/markup problems in the docs. Patch from Daniel Roseman.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8540 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
docs/topics/db/models.txt