From 779e615e362108862f1681f965ee9e4f1d0ae6d2 Mon Sep 17 00:00:00 2001 From: davidchorpash Date: Fri, 19 Jun 2020 22:55:03 -0600 Subject: Fixed #31573 -- Made QuerySet.update() respect ordering on MariaDB/MySQL. --- docs/ref/models/querysets.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'docs/ref') diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index d70f7deca3..6edc508661 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -2530,6 +2530,21 @@ update a bunch of records for a model that has a custom e.comments_on = False e.save() +Ordered queryset +^^^^^^^^^^^^^^^^ + +.. versionadded:: 3.2 + +Chaining ``order_by()`` with ``update()`` is supported only on MariaDB and +MySQL, and is ignored for different databases. This is useful for updating a +unique field in the order that is specified without conflicts. For example:: + + Entry.objects.order_by('-number').update(number=F('number') + 1) + +.. note:: + + If the ``order_by()`` clause contains annotations, it will be ignored. + ``delete()`` ~~~~~~~~~~~~ -- cgit v1.3