如何限制多对多关系的选择?

时间:2012-06-09 19:20:33

标签: python django manytomanyfield limit-choices-to

我正在使用Python + Django并且现在在我的模型中使用它:

class Team(models.Model):
    player = models.ManyToManyField(Player, related_name="player", through="Team_Player")
    squad = models.ManyToManyField(Player, related_name="squad", blank=True)

class Player(Person):
    name = models.CharField(max_length=100)

class Team_Player(models.Model):
    team = models.ForeignKey(Team)
    player = models.ForeignKey(Player)

有没有办法限制Team.squad只让玩家在Team.player关系中?到目前为止,我试图使用limit_choices_to而没有运气。有线索吗?

1 个答案:

答案 0 :(得分:0)

在Django ORM中无法做到这一点。你需要重构你的设计,以便一个团队由小队组成,一个小队由玩家组成;向团队模型添加属性或方法以获得当前团队中的所有玩家。