diff options
author | Gagaro <gagaro42@gmail.com> | 2022-01-31 15:51:38 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-03-16 09:33:16 +0100 |
commit | bf524d229f3c1008f41450e2750b85395aa75fe6 (patch) | |
tree | 9ba097a0230f9fd818ca07907fcdb2429b9221a1 /django/db/models/sql/compiler.py | |
parent | 970f5bf5035d8c99b0ff883f984b60cf531dddbe (diff) | |
download | django-bf524d229f3c1008f41450e2750b85395aa75fe6.tar.gz |
Refs #30581 -- Allowed sql.Query to be used without model.
Diffstat (limited to 'django/db/models/sql/compiler.py')
-rw-r--r-- | django/db/models/sql/compiler.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 28d412e11a..ce2787b6c0 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -310,8 +310,8 @@ class SQLCompiler: ordering = self.query.order_by elif self.query.order_by: ordering = self.query.order_by - elif self.query.get_meta().ordering: - ordering = self.query.get_meta().ordering + elif (meta := self.query.get_meta()) and meta.ordering: + ordering = meta.ordering self._meta_ordering = ordering else: ordering = [] @@ -645,7 +645,11 @@ class SQLCompiler: params.extend(s_params) out_cols.append(s_sql) - result += [", ".join(out_cols), "FROM", *from_] + result += [", ".join(out_cols)] + if from_: + result += ["FROM", *from_] + elif self.connection.features.bare_select_suffix: + result += [self.connection.features.bare_select_suffix] params.extend(f_params) if self.query.select_for_update and features.has_select_for_update: @@ -796,7 +800,8 @@ class SQLCompiler: """ result = [] if opts is None: - opts = self.query.get_meta() + if (opts := self.query.get_meta()) is None: + return result only_load = self.deferred_to_columns() start_alias = start_alias or self.query.get_initial_alias() # The 'seen_models' is used to optimize checking the needed parent |