Loading django/db/models/sql/compiler.py +4 −3 Original line number Diff line number Diff line Loading @@ -636,10 +636,10 @@ class SQLCompiler(object): int_opts = int_model._meta continue lhs_col = int_opts.parents[int_model].column link_field = int_opts.get_ancestor_link(int_model) int_opts = int_model._meta alias = self.query.join((alias, int_opts.db_table, lhs_col, int_opts.pk.column), promote=promote) int_opts.pk.column), promote=promote, join_field=link_field) alias_chain.append(alias) else: alias = root_alias Loading Loading @@ -685,10 +685,11 @@ class SQLCompiler(object): int_opts = int_model._meta continue lhs_col = int_opts.parents[int_model].column link_field = int_opts.get_ancestor_link(int_model) int_opts = int_model._meta alias = self.query.join( (alias, int_opts.db_table, lhs_col, int_opts.pk.column), promote=True promote=True, join_field=link_field ) alias_chain.append(alias) alias = self.query.join( Loading django/db/models/sql/query.py +4 −2 Original line number Diff line number Diff line Loading @@ -944,6 +944,7 @@ class Query(object): The 'join_field' is the field we are joining along (if any). """ lhs, table, lhs_col, col = connection assert lhs is None or join_field is not None existing = self.join_map.get(connection, ()) if reuse is None: reuse = existing Loading Loading @@ -1003,8 +1004,9 @@ class Query(object): for field, model in opts.get_fields_with_model(): if model not in seen: link_field = opts.get_ancestor_link(model) seen[model] = self.join((root_alias, model._meta.db_table, link_field.column, model._meta.pk.column)) seen[model] = self.join( (root_alias, model._meta.db_table, link_field.column, model._meta.pk.column), join_field=link_field) self.included_inherited_models = seen def remove_inherited_models(self): Loading Loading
django/db/models/sql/compiler.py +4 −3 Original line number Diff line number Diff line Loading @@ -636,10 +636,10 @@ class SQLCompiler(object): int_opts = int_model._meta continue lhs_col = int_opts.parents[int_model].column link_field = int_opts.get_ancestor_link(int_model) int_opts = int_model._meta alias = self.query.join((alias, int_opts.db_table, lhs_col, int_opts.pk.column), promote=promote) int_opts.pk.column), promote=promote, join_field=link_field) alias_chain.append(alias) else: alias = root_alias Loading Loading @@ -685,10 +685,11 @@ class SQLCompiler(object): int_opts = int_model._meta continue lhs_col = int_opts.parents[int_model].column link_field = int_opts.get_ancestor_link(int_model) int_opts = int_model._meta alias = self.query.join( (alias, int_opts.db_table, lhs_col, int_opts.pk.column), promote=True promote=True, join_field=link_field ) alias_chain.append(alias) alias = self.query.join( Loading
django/db/models/sql/query.py +4 −2 Original line number Diff line number Diff line Loading @@ -944,6 +944,7 @@ class Query(object): The 'join_field' is the field we are joining along (if any). """ lhs, table, lhs_col, col = connection assert lhs is None or join_field is not None existing = self.join_map.get(connection, ()) if reuse is None: reuse = existing Loading Loading @@ -1003,8 +1004,9 @@ class Query(object): for field, model in opts.get_fields_with_model(): if model not in seen: link_field = opts.get_ancestor_link(model) seen[model] = self.join((root_alias, model._meta.db_table, link_field.column, model._meta.pk.column)) seen[model] = self.join( (root_alias, model._meta.db_table, link_field.column, model._meta.pk.column), join_field=link_field) self.included_inherited_models = seen def remove_inherited_models(self): Loading