[1.6.x] Noted that .clear() will delete intermediary models

Backport of a8e84521c4 from master
This commit is contained in:
Cody Scott 2013-11-03 11:55:11 -05:00 committed by Tim Graham
parent c9917f4c83
commit 82e756da83
1 changed files with 6 additions and 3 deletions

View File

@ -469,7 +469,7 @@ the intermediate model::
>>> beatles = Group.objects.create(name="The Beatles") >>> beatles = Group.objects.create(name="The Beatles")
>>> m1 = Membership(person=ringo, group=beatles, >>> m1 = Membership(person=ringo, group=beatles,
... date_joined=date(1962, 8, 16), ... date_joined=date(1962, 8, 16),
... invite_reason= "Needed a new drummer.") ... invite_reason="Needed a new drummer.")
>>> m1.save() >>> m1.save()
>>> beatles.members.all() >>> beatles.members.all()
[<Person: Ringo Starr>] [<Person: Ringo Starr>]
@ -477,7 +477,7 @@ the intermediate model::
[<Group: The Beatles>] [<Group: The Beatles>]
>>> m2 = Membership.objects.create(person=paul, group=beatles, >>> m2 = Membership.objects.create(person=paul, group=beatles,
... date_joined=date(1960, 8, 1), ... date_joined=date(1960, 8, 1),
... invite_reason= "Wanted to form a band.") ... invite_reason="Wanted to form a band.")
>>> beatles.members.all() >>> beatles.members.all()
[<Person: Ringo Starr>, <Person: Paul McCartney>] [<Person: Ringo Starr>, <Person: Paul McCartney>]
@ -504,8 +504,11 @@ disabled for similar reasons. However, the
:meth:`~django.db.models.fields.related.RelatedManager.clear` method can be :meth:`~django.db.models.fields.related.RelatedManager.clear` method can be
used to remove all many-to-many relationships for an instance:: used to remove all many-to-many relationships for an instance::
# Beatles have broken up >>> # Beatles have broken up
>>> beatles.members.clear() >>> beatles.members.clear()
>>> # Note that this deletes the intermediate model instances
>>> Membership.objects.all()
[]
Once you have established the many-to-many relationships by creating instances Once you have established the many-to-many relationships by creating instances
of your intermediate model, you can issue queries. Just as with normal of your intermediate model, you can issue queries. Just as with normal