title: merge querysets in django
body: <p>I have in <code>models.py</code>:</p>
  
  <pre><code>class Game(models.Model):
      players1 = models.ManyToManyField(Player, related_name='games1')
      players2 = models.ManyToManyField(Player, related_name='games2')
  
      def get_all_players(self):
          return list(itertools.chain(self.players1.all(), self.players2.all()))
  </code></pre>
  
  <p>How can I write same <code>get_all_players</code> method, but return <code>QuerySet</code>, not <code>list</code>?</p>
  
  <p>P.S. I know that there is | operator:</p>
  
  <pre><code>def get_all_players(self):
      return self.players1.all() | self.players2.all()
  </code></pre>
  
  <p>But it works in a very strange way. Result of this function contains more players than there are in players1 + players2 (result contains repeats of some players)</p>