I will expand based on your idea, and also provide a simple example:
```
class Person:
    followers = ManyToManyField('self', through='FollowerInfo', symmetrical=False, related_name='followed_by')
```