Я использую Django. У меня есть модель Fixture, которая выглядит примерно так:
class Fixture(models.Model):
home_team = models.ForeignKey(Team, related_name="home_fixture_set")
home_score = models.IntegerField(max_length=2, blank=True, null=True)
away_team = models.ForeignKey(Team, related_name="away_fixture_set")
away_score = models.IntegerField(max_length=2, blank=True, null=True)
when = models.DateTimeField()
У меня есть модель команды, которая выглядит примерно так:
class Team(models.Model):
name = models.CharField(max_length=60)
club = models.ForeignKey(Club)
Я могу получить доступ к списку "домашних" приспособлений для конкретной команды с помощью home_fixture_set related_name:
my_team.home_fixture_set.all()
Я могу получить доступ к "отсутствующим" приборам аналогичным образом. Тем не менее, я не знаю, как объединить два и получить список всех матчей, в которых участвует эта команда? Например:
my_team.home_and_away_fixture_set.all()
Обратите внимание, что home_and_away_fixture_set должен возвращать набор запросов, чтобы я мог отфильтровать его:
my_team.home_and_away_fixture_set.filter(when__lte=datetime.datetime.now())
Возможно ли это сделать через API запроса модели? Если нет, то возможно ли это сделать достаточно легко с помощью запроса Manager.raw ()?
Спасибо
Jay