summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4>2011-06-22 21:42:47 +0000
committerlmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4>2011-06-22 21:42:47 +0000
commit31367eabc48a8443a34a21c76b776fe599da98f3 (patch)
treec557a737232401be9aa8156a9b41632ee3c5c050
parentbbcc4031b0069c2248094b62c0fe2e26356d65ad (diff)
frontend.afe.model_logic: Fix incorrect calls to as_sql
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 <lmr@redhat.com> git-svn-id: svn://test.kernel.org/autotest/trunk@5439 592f7852-d20e-0410-864c-8624ca9c26a4
-rw-r--r--frontend/afe/model_logic.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/frontend/afe/model_logic.py b/frontend/afe/model_logic.py
index 9f13e67e..2a4b261e 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:
@@ -1057,6 +1060,7 @@ class ModelWithInvalid(ModelExtensions):
def delete(self):
+ self.invalid = self.invalid
assert not self.invalid
self.invalid = True
self.save()
@@ -1093,7 +1097,7 @@ class ModelWithAttributes(object):
is a dict of args to pass to attribute_model.objects.get() to get an
instance of the given attribute on this object.
"""
- raise NotImplemented
+ raise NotImplementedError
def set_attribute(self, attribute, value):