【发布时间】:2012-06-09 19:20:33
【问题描述】:
我正在使用 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 没有运气。有什么线索吗?
【问题讨论】:
-
我认为您的
Team_Player模型可能有些冗余。您能描述一下您要完成的工作吗? -
模型结构看起来很乱。除此之外 - 你可以覆盖 save() 方法或使用docs.djangoproject.com/en/dev/ref/signals/… PRE-SAVE 信号来检查一个小队是否只有球队的球员,如果不匹配则引发 ValueError。
-
我相信您正在寻找这个:stackoverflow.com/questions/4621494/…
-
你是*(无法编辑我之前的评论)
标签: python django manytomanyfield limit-choices-to