我正在使用django應用程序來管理我的曲棍球池,並且在定義查詢時遇到問題。相關機型看起來就像這樣:如何查詢我的django模型的manyToMany字段?
class Player(models.Model):
name = models.CharField(max_length=100)
class Team(models.Model):
pool = models.ForeignKey(Pool)
manager = models.ForeignKey(User)
active_players = models.ManyToMany(Player)
在我的觀點之一,我想通過每一個玩家,並找出如果玩家被別人擁有。如果不是,則將它們添加到傳遞給模板的列表中。
我有一切工作,除了檢查他們是否是一個具有某個pool_id的球隊在Active_player列表中的某個球員。我到目前爲止:
players = Player.objects.all()
for player in players:
teams = Team.objects.filter(???not sure what to put here???)
#and then something here to check if teams is empty
任何幫助表示讚賞。謝謝!
我不認爲這會奏效。我的球員模型沒有球隊領域。每個球隊的球員都保留在團隊模型中的manytomany field active_players中。 – Ben313 2012-07-05 21:01:06
「團隊」是隱含的。當您設置M2M時,django會自動在'_set'處爲您創建相關管理員。這稱爲「相關名稱」,可以使用'related_name'屬性進行定製。而且,無論相關名稱是什麼(如果自動添加了「_set」,也可以用於過濾)。去嘗試一下。 –
2012-07-05 21:10:54
謝謝你清理那個。現在對我來說很有意義。很酷。 – Ben313 2012-07-05 21:14:54