diff options
| author | Tim Graham <timograham@gmail.com> | 2017-07-06 13:18:05 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-07-20 16:30:08 -0400 |
| commit | 487362fa8f23d41de4db58e7408e66eb36399af0 (patch) | |
| tree | 25897a03c885d44a15860f59c121f0b6fab3e4a8 /django/db/models/sql | |
| parent | 8d5095d8a33824e02c95ee44d6e5acdb4b39e7ed (diff) | |
Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value().
Unused since a0d166306fbdc41f49e6fadf4ec84b17eb147daa.
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/compiler.py | 16 | ||||
| -rw-r--r-- | django/db/models/sql/query.py | 14 |
2 files changed, 17 insertions, 13 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index d53b9d1c5d..6e5ed79a41 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -1,5 +1,6 @@ import collections import re +import warnings from itertools import chain from django.core.exceptions import EmptyResultSet, FieldError @@ -12,6 +13,8 @@ from django.db.models.sql.constants import ( from django.db.models.sql.query import Query, get_order_dir from django.db.transaction import TransactionManagementError from django.db.utils import DatabaseError, NotSupportedError +from django.utils.deprecation import RemovedInDjango30Warning +from django.utils.inspect import func_supports_parameter FORCE = object() @@ -926,7 +929,18 @@ class SQLCompiler: for pos, (convs, expression) in converters.items(): value = row[pos] for converter in convs: - value = converter(value, expression, self.connection, self.query.context) + if func_supports_parameter(converter, 'context'): + warnings.warn( + 'Remove the context parameter from %s.%s(). Support for it ' + 'will be removed in Django 3.0.' % ( + converter.__self__.__class__.__name__, + converter.__name__, + ), + RemovedInDjango30Warning, + ) + value = converter(value, expression, self.connection, {}) + else: + value = converter(value, expression, self.connection) row[pos] = value return tuple(row) diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 70ea85a275..c335d77c3c 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -46,7 +46,7 @@ def get_field_names_from_opts(opts): class RawQuery: """A single raw SQL query.""" - def __init__(self, sql, using, params=None, context=None): + def __init__(self, sql, using, params=None): self.params = params or () self.sql = sql self.using = using @@ -57,10 +57,9 @@ class RawQuery: self.low_mark, self.high_mark = 0, None # Used for offset/limit self.extra_select = {} self.annotation_select = {} - self.context = context or {} def clone(self, using): - return RawQuery(self.sql, using, params=self.params, context=self.context.copy()) + return RawQuery(self.sql, using, params=self.params) def get_columns(self): if self.cursor is None: @@ -200,8 +199,6 @@ class Query: # load. self.deferred_loading = (frozenset(), True) - self.context = {} - @property def extra(self): if self._extra is None: @@ -334,15 +331,8 @@ class Query: obj.__dict__.update(kwargs) if hasattr(obj, '_setup_query'): obj._setup_query() - obj.context = self.context.copy() return obj - def add_context(self, key, value): - self.context[key] = value - - def get_context(self, key, default=None): - return self.context.get(key, default) - def relabeled_clone(self, change_map): clone = self.clone() clone.change_aliases(change_map) |
