diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 449c83b495..59f7bcbf14 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1406,13 +1406,13 @@ class Query(object): the final join is against the same column as we are comparing against, and is an inner join, we can go back one step in a join chain and compare against the LHS of the join instead (and then repeat the - optimization). The result, potentially, involves less table joins. + optimization). The result, potentially, involves fewer table joins. The 'target' parameter is the final field being joined to, 'join_list' is the full list of join aliases. The 'last' list contains offsets into 'join_list', corresponding to - each component of the filter. Many-to-many relations, for example, add + each component of the filter. Many-to-many relations, for example, add two tables to the join list and we want to deal with both tables the same way, so 'last' has an entry for the first of the two tables and then the table immediately after the second table, in that case.