From dd432cc94177f84e984b30f08ce473a8951ad8f7 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sat, 26 Apr 2008 05:06:21 +0000 Subject: [PATCH] queryset-refactor: For custom Q-like objects, pass in the used_aliases parameter (see [7462]) from Query.add_q() to their add_to_query() method. This provides custom objects with the same context as Q's. git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@7467 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/sql/query.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 19ecd1c657..18bda2bb7b 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1008,9 +1008,11 @@ class Query(object): Can also be used to add anything that has an 'add_to_query()' method. """ + if used_aliases is None: + used_aliases = set() if hasattr(q_object, 'add_to_query'): # Complex custom objects are responsible for adding themselves. - q_object.add_to_query(self) + q_object.add_to_query(self, used_aliases) return if self.where and q_object.connector != AND and len(q_object) > 1: @@ -1019,8 +1021,6 @@ class Query(object): else: subtree = False connector = AND - if used_aliases is None: - used_aliases = set() for child in q_object.children: if isinstance(child, Node): self.where.start_subtree(connector)