Quantcast
Channel: merge querysets in django - Stack Overflow
Viewing all articles
Browse latest Browse all 3

merge querysets in django

$
0
0

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)


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images