微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django:具有多个相同类型的相关字段的模型

如何解决Django:具有多个相同类型的相关字段的模型

| 我正在使用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,null=True)
    when = models.DateTimeField()
我有一个Team模型,看起来像:
class Team(models.Model):
    name = models.CharField(max_length=60)
    club = models.ForeignKey(Club)
我可以通过home_fixture_set related_name访问特定团队的\“ home \”灯具列表:
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()查询轻松地完成此操作? 谢谢 杰伊     

解决方法

from django.db.models import Q
home_and_away_fixtures = Fixtures.objects.filter(Q(home_team=team)|Q(away_team=team))
或编辑:
home_and_away_fixtures = my_team.home_fixture_set.all() | my_team.away_fixture_set.all()
thx shadfc:以及单个查询     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。