class User(models.Model):
    name = models.CharField(max_length=128)


class Event(models.Model):
    name = models.CharField(max_length=128)
members = models.ManyToManyField(User, through='Role')

def __unicode__(self):
    return self.name


class Role(models.Model):
    person = models.ForeignKey(User)
How to create a triple-join table with Django