diff options
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/compiler.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 1319b288aa..51c3d6e661 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -476,8 +476,11 @@ class SQLCompiler(object): Used when nesting this query inside another. """ obj = self.query.clone() - if obj.low_mark == 0 and obj.high_mark is None and not self.query.distinct_fields: - # If there is no slicing in use, then we can safely drop all ordering + # It's safe to drop ordering if the queryset isn't using slicing, + # distinct(*fields) or select_for_update(). + if (obj.low_mark == 0 and obj.high_mark is None and + not self.query.distinct_fields and + not self.query.select_for_update): obj.clear_ordering(True) nested_sql = obj.get_compiler(connection=self.connection).as_sql(subquery=True) if nested_sql == ('', ()): |
