Вот мои модели. Это как приложение спортивной команды. Модель событий - это спортивное событие, похожее на бейсбольный матч. Любой может принадлежать к нескольким командам. Итак, член команды представляет членство в команде.
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)
Это работает, но я хочу сделать это к единому соединению. Мой ORM-фу не так уж и хорош.