diff options
| author | Alexander Lyabah <a.lyabah@checkio.org> | 2020-11-28 18:08:27 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-01-05 10:37:11 +0100 |
| commit | 415f50298f97fb17f841a9df38d995ccf347dfcc (patch) | |
| tree | 3907c7f089deaae35a4d1f96e1208ba2e79e8aa1 /django/db/models/sql/query.py | |
| parent | aa3d36063174cc1e16a1e5150b6b47609dd1e79a (diff) | |
Fixed #32231 -- Allowed passing None params to QuerySet.raw().
Diffstat (limited to 'django/db/models/sql/query.py')
| -rw-r--r-- | django/db/models/sql/query.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 93cc32ac3c..a39430b28d 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -69,8 +69,8 @@ JoinInfo = namedtuple( class RawQuery: """A single raw SQL query.""" - def __init__(self, sql, using, params=None): - self.params = params or () + def __init__(self, sql, using, params=()): + self.params = params self.sql = sql self.using = using self.cursor = None @@ -111,9 +111,13 @@ class RawQuery: @property def params_type(self): + if self.params is None: + return None return dict if isinstance(self.params, Mapping) else tuple def __str__(self): + if self.params_type is None: + return self.sql return self.sql % self.params_type(self.params) def _execute_query(self): @@ -127,6 +131,8 @@ class RawQuery: params = tuple(adapter(val) for val in self.params) elif params_type is dict: params = {key: adapter(val) for key, val in self.params.items()} + elif params_type is None: + params = None else: raise RuntimeError("Unexpected params type: %s" % params_type) |
