From fd9045346286208c0dbd0afc1f820e868910dac8 Mon Sep 17 00:00:00 2001 From: Julien Phalip Date: Sun, 11 Sep 2011 19:28:18 +0000 Subject: [PATCH] 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 --- docs/topics/db/models.txt | 21 ++++++++++++++++++++- docs/topics/db/queries.txt | 2 ++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt index f4302e9746..465d9193a4 100644 --- a/docs/topics/db/models.txt +++ b/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)) [>> 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` 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 ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index 8e2c0cc021..23ed124fa5 100644 --- a/docs/topics/db/queries.txt +++ b/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 --------------------------