Spot 2 other places in django custom model logic that were using as_sql as a query method. Make the calls to be done on a compiler instance, fixing more unittest problems.
Signed-off-by: Lucas Meneghel Rodrigues <[email protected]> --- frontend/afe/model_logic.py | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/afe/model_logic.py b/frontend/afe/model_logic.py index 9f13e67..b6d5ed8 100644 --- a/frontend/afe/model_logic.py +++ b/frontend/afe/model_logic.py @@ -148,7 +148,7 @@ class ExtendedManager(dbmodels.Manager): self._values = values - def as_sql(self, qn=None): + def as_sql(self, qn=None, connection=None): return self._clause, self._values @@ -222,11 +222,13 @@ class ExtendedManager(dbmodels.Manager): info['lhs_column'] = field.rel.get_related_field().column rhs_where = join_to_query.query.where rhs_where.relabel_aliases({rhs_table: alias}) - initial_clause, values = rhs_where.as_sql() - all_clauses = (initial_clause,) + join_to_query.query.extra_where - info['where_clause'] = ' AND '.join('(%s)' % clause - for clause in all_clauses) - values += join_to_query.query.extra_params + compiler = join_to_query.query.get_compiler(using=join_to_query.db) + initial_clause, values = compiler.as_sql() + all_clauses = (initial_clause,) + if hasattr(join_to_query.query, 'extra_where'): + all_clauses += join_to_query.query.extra_where + info['where_clause'] = ( + ' AND '.join('(%s)' % clause for clause in all_clauses)) info['values'] = values return info @@ -349,7 +351,8 @@ class ExtendedManager(dbmodels.Manager): def _custom_select_query(self, query_set, selects): - sql, params = query_set.query.as_sql() + compiler = query_set.query.get_compiler(using=query_set.db) + sql, params = compiler.as_sql() from_ = sql[sql.find(' FROM'):] if query_set.query.distinct: -- 1.7.5.4 _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
