Browse Source

Fixed #16742 -- Provided code examples in the models documentation for accessing extra fields on many-to-many relationships. Many thanks to aj for the suggestion and to Nick Lang for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16817 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Julien Phalip 13 years ago
parent
commit
fd90453462
2 changed files with 22 additions and 1 deletions
  1. 20 1
      docs/topics/db/models.txt
  2. 2 0
      docs/topics/db/queries.txt

+ 20 - 1
docs/topics/db/models.txt

@@ -325,7 +325,7 @@ whatever you want. For example::
 
     For details on accessing backwards-related objects, see the
     `Following relationships backward example`_.
-    
+
     For sample code, see the `Many-to-one relationship model tests`_.
 
     .. _Following relationships backward example: http://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects
@@ -519,6 +519,25 @@ As you are using an intermediate model, you can also query on its attributes::
     ...     membership__date_joined__gt=date(1961,1,1))
     [<Person: Ringo Starr]
 
+If you need to access a membership's information you may do so by directly
+querying the ``Membership`` model::
+
+    >>> ringos_membership = Membership.objects.get(group=beatles, person=ringo)
+    >>> ringos_membership.date_joined
+    datetime.date(1962, 8, 16)
+    >>> ringos_membership.invite_reason
+    u'Needed a new drummer.'
+
+Another way to access the same information is by querying the
+:ref:`many-to-many reverse relationship<m2m-reverse-relationships>` from a
+``Person`` object::
+
+    >>> ringos_membership = ringo.membership_set.get(group=beatles)
+    >>> ringos_membership.date_joined
+    datetime.date(1962, 8, 16)
+    >>> ringos_membership.invite_reason
+    u'Needed a new drummer.'
+
 
 One-to-one relationships
 ~~~~~~~~~~~~~~~~~~~~~~~~

+ 2 - 0
docs/topics/db/queries.txt

@@ -1036,6 +1036,8 @@ Each "reverse" operation described in this section has an immediate effect on
 the database. Every addition, creation and deletion is immediately and
 automatically saved to the database.
 
+.. _m2m-reverse-relationships:
+
 Many-to-many relationships
 --------------------------