Учитывая сценарий, как:Цепной запросы через связанные объекты
from django.db import models
class Player(models.Model):
playername = models.CharField()
class Team(models):
teamname = models.CharField()
class Members(models):
player = models.ForeignKey(Player)
team = models.ForeignKey(Team)
class Division(models):
divname = models.CharField()
class DivisionTeam(models):
division = models.ForeignKey(Division)
team = models.ForeignKey(Team)
Как я могу получить список всех различных игроков в дивизионе ид = 5? Я просматриваю выражения Q и F, но я не ищу сложный набор или. Мне интересно, есть ли способ связать несколько типов структур типа object1_set.object2_set.all()
или настроить вложенные циклы для создания объекта (который будет передан шаблону через контекст) с конечным циклом типа {% for p in players %}
в шаблоне. Идентификатор div передается как переменная запроса.
Uh, 'Player.objects.filter (members__team__divisionteam__divsion__pk = 5)'? Или что-то типа того? Ваша структура db запутывает: P – NightShadeQueen
Я предполагаю, что вы используете слово «отличное», что по какой-то причине у вас есть несколько игроков с тем же именем, и это главный вопрос? Есть ли причина, по которой вы не можете просто использовать [.distinct()] (https://docs.djangoproject.com/en/1.8/ref/models/querysets/#django.db.models.query.QuerySet.distinct)? В противном случае я не могу сказать, что вы здесь задаете. – foobarbecue
@NightShadeQueen наследуется (но я сыграл часть), основываясь на существующих базах данных и упрощенном для этого вопроса. Спасибо, я сделаю это. – AMG