          to_promote = set()
          to_demote = set()
          # The effective_connector is used so that NOT (a AND b) is treated
          # similarly to (a OR b) for join promotion.
          for table, votes in self.inner_votes.items():
              # We must use outer joins in OR case when the join isn't contained
              # in all of the joins. Otherwise the INNER JOIN itself could remove
              # valid results. Consider the case where a model with rel_a and
              # rel_b relations is queried with rel_a__col=1 | rel_b__col=2. Now,
              # if rel_a join doesn't produce any results is null (for example
 
</s> remove         for voted in inner_votes:
            self.inner_votes[voted] = self.inner_votes.get(voted, 0) + 1
 </s> add         self.votes.update(votes) </s> remove         Add single vote per item to self.inner_votes. Parameter can be any
 </s> add         Add single vote per item to self.votes. Parameter can be any </s> remove     def add_votes(self, inner_votes):
 </s> add     def add_votes(self, votes): </s> remove         self.outer_votes = {}
        self.inner_votes = {}
 </s> add         self.votes = Counter() </s> remove from collections import Iterator, Mapping, OrderedDict
 </s> add from collections import Counter, Iterator, Mapping, OrderedDict
        for table, votes in self.votes.items():
          to_promote = set()
          to_demote = set()
          # The effective_connector is used so that NOT (a AND b) is treated
          # similarly to (a OR b) for join promotion.
        for table, votes in self.votes.items():
              # We must use outer joins in OR case when the join isn't contained
              # in all of the joins. Otherwise the INNER JOIN itself could remove
              # valid results. Consider the case where a model with rel_a and
              # rel_b relations is queried with rel_a__col=1 | rel_b__col=2. Now,
              # if rel_a join doesn't produce any results is null (for example
keep keep keep keep replace keep keep keep keep keep
 Removed the unused JoinPromoter.outer_votes attribute. 
django/db/models/sql/query.py