Выбор предела поля модели django из других полей модели - PullRequest
1 голос
/ 08 сентября 2011

Что ж, я делаю футбольное приложение, и у меня есть игровое устройство или игровая модель, для этого нужны две команды, и это добавляет время и материал для игры, но у меня также есть FixtureRedCard и FixtureGoals, что сейчас происходит то, что FixtureGoals и FixtureRedCard имеют 3 поля, внешний ключ для матчей и внешний ключ для команды, которая забила гол, а затем еще один, чтобы показать, какой игрок это сделал ...

Базовый класс прибора

class Fixture(TitleAndSlugModel):
    """
    A division match fixture
    """
    division = models.ForeignKey(Division)
    fixture_date_time = models.DateTimeField()
    team_a = models.ForeignKey("team.Team", related_name="team_a")
    team_b = models.ForeignKey("team.Team", related_name="team_b")

FixtureGoal

class FixtureGoal(BaseModel):
    """
    A goal recorded against a match fixture
    """
    fixture = models.ForeignKey(Fixture)
    team = models.ForeignKey("team.Team")
    player = ChainedForeignKey(
      "team.TeamPlayer", 
      chained_field="team", 
      chained_model_field="team", 
      show_all=False,
      auto_choose=True,
      blank=True, null=True)

    class Meta:
        ordering = ["fixture", "team",]

    def __unicode__(self):
        return u'%s (%s)' % (self.fixture, self.player)

FixtureRedCard

class FixtureRedCard(BaseModel):
    """
    A red card recorded against a match fixture
    """
    fixture = models.ForeignKey(Fixture)
    team = models.ForeignKey("team.Team")
    player = ChainedForeignKey(
      "team.TeamPlayer", 
      chained_field="team", 
      chained_model_field="team", 
      show_all=False,
      auto_choose=True,
      blank=True, null=True)

    class Meta:
        ordering = ["fixture", "team",]

    def __unicode__(self):
        return u'%s (%s)' % (self.fixture, self.player)

Что я хочу сделать, это ограничить варианты выбора team_a и team_b, выбранные в Fixture, для полевой команды в классах fixtureredcard и fixturegoal, как я могу этого добиться?

Спасибо

1 Ответ

0 голосов
/ 12 сентября 2011

Проверьте это Джанго Фрагмент для примера.

...