我有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()))
我如何编写相同get_all_players
的方法,但返回QuerySet
,而不是list
?
PS我知道有| 操作员:
def get_all_players(self):
return self.players1.all() | self.players2.all()
但它以一种非常奇怪的方式工作。此函数的结果包含的玩家数量多于玩家 1 + 玩家 2 中的玩家数量(结果包含一些玩家的重复)