summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPrzemysław Suliga <suligap@gmail.com>2015-05-31 20:15:45 +0200
committerTim Graham <timograham@gmail.com>2015-06-01 08:53:59 -0400
commit52b5890f5237ad8859108de1e0757be2b3f354c4 (patch)
tree56ae26f98b233ac2213f86a6fb381ac3a87a5316 /docs
parentb8dce1af3a04ae547320d03a02919dd1172e295c (diff)
[1.8.x] Fixed #24880 -- Added more explicit docs on select_for_update() on SQLite.
Backport of d29ed3f355b0c57e7036807f1d54f33796d8d820 from master
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/models/querysets.txt7
1 files changed, 5 insertions, 2 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
index 673037ec31..3fb73b89f2 100644
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -1510,14 +1510,17 @@ do not support ``nowait``, such as MySQL, will cause a
:exc:`~django.db.DatabaseError` to be raised. This is in order to prevent code
unexpectedly blocking.
-Evaluating a queryset with ``select_for_update()`` in autocommit mode is
-a :exc:`~django.db.transaction.TransactionManagementError` error because the
+Evaluating a queryset with ``select_for_update()`` in autocommit mode on
+backends which support ``SELECT ... FOR UPDATE`` is a
+:exc:`~django.db.transaction.TransactionManagementError` error because the
rows are not locked in that case. If allowed, this would facilitate data
corruption and could easily be caused by calling code that expects to be run in
a transaction outside of one.
Using ``select_for_update()`` on backends which do not support
``SELECT ... FOR UPDATE`` (such as SQLite) will have no effect.
+``SELECT ... FOR UPDATE`` will not be added to the query, and an error isn't
+raised if ``select_for_update()`` is used in autocommit mode.
.. versionchanged:: 1.6.3