Получение количества сущностей с иностранными ключами второй степени в Django
У нас есть модель данных с тремя основными моделями:
- Группа
- Активность
- Участник (модель пользователя)
class Group(models.Model):
name = models.CharField(max_length=255)
class Activity(models.Model):
participants = models.ManyToManyField(
to=settings.AUTH_USER_MODEL
)
group = models.ForeignKey(to=Group, reverse_name="activities")
Я хочу знать, сколько раз люди участвовали в групповых мероприятиях, поэтому я хотел бы подсчитать участников для всех мероприятий, независимо от уникальности.
Как я могу суммировать подсчеты всех участников для всех мероприятий, связанных с данной группой?
Не уверен, правильно ли я понял вопрос (судя по диаграмме, думаю, что да). Этот запрос возвращает сумму количества участников (не разных) всех мероприятий группы 1:
User.objects.filter(activity__group_id=1).count()