Django最好加入
这是我的模型。这就像一个运动队组织应用程序。事件模型是类似棒球比赛的体育事件。任何人都可以属于多个团队。因此,团队成员代表团队的成员身份Django最好加入,django,join,orm,Django,Join,Orm,这是我的模型。这就像一个运动队组织应用程序。事件模型是类似棒球比赛的体育事件。任何人都可以属于多个团队。因此,团队成员代表团队的成员身份 class Team(models.Model): name = models.CharField(max_length=100, blank=True) class TeamMember(models.Model): member = models.ForeignKey(User, on_delete=models.CASCADE)
class Team(models.Model):
name = models.CharField(max_length=100, blank=True)
class TeamMember(models.Model):
member = models.ForeignKey(User, on_delete=models.CASCADE)
team = models.ForeignKey(Team, on_delete=models.CASCADE)
class Event(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE)
我想得到我的球队参加过的比赛的名单
def get_queryset(self):
teams = TeamMember.objects.filter(member=self.request.user).values('team')
return Event.objects.filter(team__in=teams)
这确实有效,但我想让它成为一个单一的连接。我的老师没那么好。如我所说
Django提供了一种强大而直观的方式来“跟踪”关系
在查找中,自动为您处理SQL连接,后面是
场景。要跨越关系,请使用相关的字段名
跨模型的字段,用双下划线分隔,直到
去你想去的地方
它也可以反向工作。要引用“反向”关系,请使用
模型的小写名称。
正如所说
Django提供了一种强大而直观的方式来“跟踪”关系
在查找中,自动为您处理SQL连接,后面是
场景。要跨越关系,请使用相关的字段名
跨模型的字段,用双下划线分隔,直到
去你想去的地方
它也可以反向工作。要引用“反向”关系,请使用
模型的小写名称。
叮叮!非常感谢。叮叮!非常感谢。
Event.objects.filter(team__teammember__member=self.request.user)