diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2010-03-20 15:02:59 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2010-03-20 15:02:59 +0000 |
| commit | bfa080f402ddfc383abdbac96fa198e7f2f8ec59 (patch) | |
| tree | 4bfb3649f863c0bbe6c3f010bf450faecc16e1a4 /django/db/models/sql | |
| parent | 4528f3988689272d511b1395efc578c0b0d9e671 (diff) | |
Fixed #12937 -- Corrected the operation of select_related() when following an reverse relation on an inherited model. Thanks to subsume for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12814 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/compiler.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index b7d63d381e..2fe03302a9 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -215,7 +215,7 @@ class SQLCompiler(object): return result def get_default_columns(self, with_aliases=False, col_aliases=None, - start_alias=None, opts=None, as_pairs=False): + start_alias=None, opts=None, as_pairs=False, local_only=False): """ Computes the default columns for selecting every field in the base model. Will sometimes be called to pull in related models (e.g. via @@ -240,6 +240,8 @@ class SQLCompiler(object): if start_alias: seen = {None: start_alias} for field, model in opts.get_fields_with_model(): + if local_only and model is not None: + continue if start_alias: try: alias = seen[model] @@ -643,7 +645,7 @@ class SQLCompiler(object): ) used.add(alias) columns, aliases = self.get_default_columns(start_alias=alias, - opts=model._meta, as_pairs=True) + opts=model._meta, as_pairs=True, local_only=True) self.query.related_select_cols.extend(columns) self.query.related_select_fields.extend(model._meta.fields) |
