summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2019-12-02 07:57:19 +0100
committerGitHub <noreply@github.com>2019-12-02 07:57:19 +0100
commit0107e3d1058f653f66032f7fd3a0bd61e96bf782 (patch)
tree9d13b2667b1e99434975ea8e930fe54d6c0c16e5 /docs/ref
parentc33eb6dcd0c211f8f02b2976fe3b3463f0a54498 (diff)
Fixed #30953 -- Made select_for_update() lock queryset's model when using "self" with multi-table inheritance.
Thanks Abhijeet Viswa for the report and initial patch.
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/models/querysets.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index b8dcb90fec..ba20c7516a 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -1692,6 +1692,14 @@ specify the related objects you want to lock in ``select_for_update(of=(...))``
using the same fields syntax as :meth:`select_related`. Use the value ``'self'``
to refer to the queryset's model.
+.. admonition:: Lock parents models in ``select_for_update(of=(...))``
+
+ If you want to lock parents models when using :ref:`multi-table inheritance
+ <multi-table-inheritance>`, you must specify parent link fields (by default
+ ``<parent_model_name>_ptr``) in the ``of`` argument. For example::
+
+ Restaurant.objects.select_for_update(of=('self', 'place_ptr'))
+
You can't use ``select_for_update()`` on nullable relations::
>>> Person.objects.select_related('hometown').select_for_update()