【发布时间】:2011-08-05 21:42:31
【问题描述】:
我正在使用 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() 查询相当容易地完成此操作?
谢谢 周杰伦
【问题讨论】: