Everything is ok. You just don't understand how ManyToMany is realized on the SQL level. Simply speaking, this
class Foo(models.Model):
#...
class Bar(models.Model):
foo = models.ManyToManyField(Foo)
is technically the same as this:
class Foo(models.Model):
#...
class Bar(models.Model):
#...
class BarFoo(models.Model):
foo = models.ForeignKey(Foo)
bar = models.ForeignKey(Bar)
And if you'll check your database - you will find a table called EventgroupsEvent or something like that which contains the actual fields. It's just the ORM that lets you connect the models directly. Please read my answer here for a detailed explanation on how ManyToMany works in the background