I have in models.py
:
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()))
How can I write same get_all_players
method, but return QuerySet
, not list
?
P.S. I know that there is | operator:
def get_all_players(self): return self.players1.all() | self.players2.all()
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)