Kaydet (Commit) 5935a9ae authored tarafından Simon Charette's avatar Simon Charette Kaydeden (comit) Tim Graham

Removed obsolete Lookup hook to prepare rhs expressions.

After 3a505c70, all _prepare() methods
return self.
üst 3a505c70
......@@ -240,8 +240,7 @@ class ArrayLenTransform(Transform):
class ArrayInLookup(In):
def get_prep_lookup(self):
values = super().get_prep_lookup()
if hasattr(self.rhs, '_prepare'):
# Subqueries don't need further preparation.
if hasattr(values, 'resolve_expression'):
return values
# In.process_rhs() expects values to be hashable, so convert lists
# to tuples.
......
......@@ -245,10 +245,6 @@ class BaseExpression:
])
return c
def _prepare(self, field):
"""Hook used by Lookup.get_prep_lookup() to do custom preparation."""
return self
@property
def field(self):
return self.output_field
......@@ -537,9 +533,6 @@ class ResolvedOuterRef(F):
'only be used in a subquery.'
)
def _prepare(self, output_field=None):
return self
def relabeled_clone(self, relabels):
return self
......@@ -551,9 +544,6 @@ class OuterRef(F):
return self.name
return ResolvedOuterRef(self.name)
def _prepare(self, output_field=None):
return self
class Func(SQLiteNumericMixin, Expression):
"""An SQL function call."""
......
......@@ -64,8 +64,8 @@ class Lookup:
self.lhs, self.rhs = new_exprs
def get_prep_lookup(self):
if hasattr(self.rhs, '_prepare'):
return self.rhs._prepare(self.lhs.output_field)
if hasattr(self.rhs, 'resolve_expression'):
return self.rhs
if self.prepare_rhs and hasattr(self.lhs.output_field, 'get_prep_value'):
return self.lhs.output_field.get_prep_value(self.rhs)
return self.rhs
......@@ -195,11 +195,9 @@ class FieldGetDbPrepValueIterableMixin(FieldGetDbPrepValueMixin):
get_db_prep_lookup_value_is_iterable = True
def get_prep_lookup(self):
if hasattr(self.rhs, 'resolve_expression'):
return self.rhs
prepared_values = []
if hasattr(self.rhs, '_prepare'):
# A subquery is like an iterable but its items shouldn't be
# prepared independently.
return self.rhs._prepare(self.lhs.output_field)
for rhs_value in self.rhs:
if hasattr(rhs_value, 'resolve_expression'):
# An expression will be handled by the database but can coexist
......
......@@ -271,9 +271,6 @@ class Query(BaseExpression):
memo[id(self)] = result
return result
def _prepare(self, field):
return self
def get_compiler(self, using=None, connection=None):
if using is None and connection is None:
raise ValueError("Need either using or connection")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment