summaryrefslogtreecommitdiff
path: root/django/db/models/sql/query.py
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-11-29 22:07:58 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-11-29 22:07:58 +0000
commitbef4ca2bacfefd22fdf35b9c86d3ab714c67330f (patch)
treee556c7acd4a09ae4129b4999faed3ed00f9ac44b /django/db/models/sql/query.py
parentdfe05d94b853073e2762250e1b4cd64ce9ef1df0 (diff)
queryset-refactor: Fixed an off-by-one error when filling the select-related
case. Only affects people using select_related() with the "depth" parameter *and* extra(select=...) simultaneously. Refs #6018. Thanks, Matthias Urlichs. git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@6755 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/models/sql/query.py')
-rw-r--r--django/db/models/sql/query.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index 9f303fa015..c1013ce99f 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -634,10 +634,13 @@ class Query(object):
self.rev_join_map[alias] = t_ident
return alias
- def fill_related_selections(self, opts=None, root_alias=None, cur_depth=0,
+ def fill_related_selections(self, opts=None, root_alias=None, cur_depth=1,
used=None):
"""
- Fill in the information needed for a select_related query.
+ Fill in the information needed for a select_related query. The current
+ "depth" is measured as the number of connections away from the root
+ model (cur_depth == 1 means we are looking at models with direct
+ connections to the root model).
"""
if self.max_depth and cur_depth > self.max_depth:
# We've recursed too deeply; bail out.