【发布时间】:2012-12-20 20:08:42
【问题描述】:
我在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?
附:我知道有|运营商:
def get_all_players(self):
return self.players1.all() | self.players2.all()
但它的工作方式非常奇怪。此函数的结果包含的玩家数量多于玩家 1 + 玩家 2 中的玩家数量(结果包含一些玩家的重复)
【问题讨论】:
标签: python django merge django-queryset