【发布时间】:2013-05-17 18:03:54
【问题描述】:
所以我有这两个模型:
class Player(models.Model):
playerName = models.CharField(max_length= 50)
playerTeam = models.CharField(max_length=20)
class Role(models.Model):
roleName = models.CharField(max_length= 50)
players = models.ManyToManyField(Player)
现在,将不同的玩家存储在一个角色下很容易。我的目标是在一个角色下检索不同的“playerTeam”。为了清楚起见,我想要字符串格式的不同团队的值。所以,如果两个 Player 对象存储为:
p = Player(playerName='Zidane', playerTeam = 'Real Madrid')
p1 = Player(playerName='Laudrup', playerTeam = 'Barcelona')
两者都被添加到一个角色对象中,比如:
r = Role(roleName='playmaker')
r.save()
r.add(p)
r.add(p1)
r.save()
我想写一个查询,结果是“皇家马德里”和“巴塞罗那”。
为它编写查询被证明是一项挑战。我能得到什么帮助吗?
【问题讨论】:
-
@themanatuf 我已通读文档。我正在寻找的查询没有给出。
-
@TimmyO'Mahony 我试图编写一个查询来获取列表中的这两个值,但没有这样做。
-
您的查询是什么?您说了您希望它返回的内容,但从未真正说明实际查询是什么。您是否正在尝试为所有组织者寻找球队?
-
您可能需要考虑更改模型。我会认为一个球员可以有一个角色,而不是一个角色可以有球员。这似乎有点倒退,这可能是你遇到麻烦的原因。
标签: python database django models