Получение отфильтрованного списка объектов в администраторе django из модели django. Поле ForeignKey - PullRequest
0 голосов
/ 03 марта 2012

У меня есть пять моделей:

Class League(models.Model):
    type = models.CharField(max_length=30)

class Team(models.Model):
    name = models.CharField(max_length=30)
    league = models.ForeignKey(max_length=30)

class Player(models.Model):
    name = models.CharField(max_length=30)
    league = models.ForeignKey(Team)

class Fixture(models.Model):
    date = models.DateField();
    league = models.ForeignKey(League)
    team_1 = models.ForeignKey(Team, rel="home")
    team_2 = models.ForeignKey(Team, rel="away")

class Team1_score(models.Model):
    fixture = models.ForiegnKey(Fixture)
    player = models.ForeignKey(Player)
    score = models.IntegerField(max_length=4)

Теперь в админке django, когда я редактирую детали о редактировании Team1_score, я хочу быть только в списке игроков из команды 1. Это то, что я делаю в админе

class Team1ScoreInline(models.TabularInline):
    extra = 1

class Fixture(models.Admin):
    inlines = [Team1ScoreInline, Team2ScoreInline]

Но в нем отображается список всех игроков в БД, когда я выбираю игрока для добавления в карточку счета.

1 Ответ

0 голосов
/ 03 марта 2012

Если вы используете Django 1.3+, вы можете использовать опцию набора запросов, как описано в:

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset

...