diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2009-04-04 05:35:01 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2009-04-04 05:35:01 +0000 |
| commit | 2b1934ff3c3f80f58cc35bdcc03ae1b0ea6eb17e (patch) | |
| tree | ce6043947d92f23916324a83a65e340d69148ec8 /django/db/models/sql/query.py | |
| parent | 0a89a57ffc491f2d1ff9a19e792739f67a945be3 (diff) | |
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
Diffstat (limited to 'django/db/models/sql/query.py')
| -rw-r--r-- | django/db/models/sql/query.py | 7 |
1 files changed, 4 insertions, 3 deletions
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] |
