0

私は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 を使用しようとしていました。手がかりはありますか?

4

1 に答える 1

0

Django ORM でこれを行う方法はありません。チームが分隊で構成され、分隊がプレイヤーで構成されるように、設計をリファクタリングする必要があります。チーム モデルにプロパティまたはメソッドを追加して、現在のチームのすべてのプレーヤーを取得します。

于 2012-06-09T19:24:16.887 に答える