Things will be clearer if you use better related_names
, e.g.:
class Event(models.Model):
name = models.CharField(max_length=100)
organiser = models.ForeignKey(User, related_name='events_as_organiser')
participants = models.ManyToManyField(User, related_name='events_as_participant', blank=True)
what I want is all participants from events I organized
User.objects.filter(events_as_participant__organiser=request.user).distinct()