From 2b1934ff3c3f80f58cc35bdcc03ae1b0ea6eb17e Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sat, 4 Apr 2009 05:35:01 +0000 Subject: Fixed a problem when computing deferred fields on multiple related models. Fixed #10710, as this fixes the second bug reported there. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10384 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/sql/query.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'django/db/models/sql/query.py') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 4735fdabbb..cafde11415 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -574,12 +574,13 @@ class BaseQuery(object): if not field_names: return columns = set() - cur_model = self.model - opts = cur_model._meta + orig_opts = self.model._meta seen = {} - must_include = {cur_model: set([opts.pk])} + must_include = {self.model: set([orig_opts.pk])} for field_name in field_names: parts = field_name.split(LOOKUP_SEP) + cur_model = self.model + opts = orig_opts for name in parts[:-1]: old_model = cur_model source = opts.get_field_by_name(name)[0] -- cgit v1.3