summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Smith <hello@craigiansmith.com.au>2020-10-20 16:36:03 +1100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-11-06 12:09:02 +0100
commitd67f965c799f15d45723027d2b42aec01a1d3ca2 (patch)
treeb27beebdad1b85a66967e39b2f7f4be4337b68e5
parent8b3010a2983bf298d416e66a8c8974513dd4d73f (diff)
[3.1.x] Fixed #32045 -- Doc'd GenericRelatedObjectManager methods.
This also documents that .remove() and clear() methods delete related objects. Backport of 354c1524b38c9b9f052c1d78dcbfa6ed5559aeb3 from master
-rw-r--r--docs/ref/contrib/contenttypes.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt
index 66dbfe45ef..5db1017f73 100644
--- a/docs/ref/contrib/contenttypes.txt
+++ b/docs/ref/contrib/contenttypes.txt
@@ -391,6 +391,36 @@ be used to retrieve their associated ``TaggedItems``::
>>> b.tags.all()
<QuerySet [<TaggedItem: django>, <TaggedItem: python>]>
+You can also use ``add()``, ``create()``, or ``set()`` to create
+relationships::
+
+ >>> t3 = TaggedItem(tag='Web development')
+ >>> b.tags.add(t3, bulk=False)
+ >>> b.tags.create(tag='Web framework')
+ <TaggedItem: Web framework>
+ >>> b.tags.all()
+ <QuerySet [<TaggedItem: django>, <TaggedItem: python>, <TaggedItem: Web development>, <TaggedItem: Web framework>]>
+ >>> b.tags.set([t1, t3])
+ >>> b.tags.all()
+ <QuerySet [<TaggedItem: django>, <TaggedItem: Web development>]>
+
+The ``remove()`` call will bulk delete the specified model objects::
+
+ >>> b.tags.remove(t3)
+ >>> b.tags.all()
+ <QuerySet [<TaggedItem: django>]>
+ >>> TaggedItem.objects.all()
+ <QuerySet [<TaggedItem: django>]>
+
+The ``clear()`` method can be used to bulk delete all related objects for an
+instance::
+
+ >>> b.tags.clear()
+ >>> b.tags.all()
+ <QuerySet []>
+ >>> TaggedItem.objects.all()
+ <QuerySet []>
+
Defining :class:`~django.contrib.contenttypes.fields.GenericRelation` with
``related_query_name`` set allows querying from the related object::