Performance impact of reverse relationships in Django
This is unnecessarily complex.
There is no performance overhead to having a many-to-many relationship. This is represented by an intermediary table in the database; there's no actual field in the humans table. If an item doesn't have any m2m members, then no data is stored.
I'm setting up my Models and I'm trying to avoid using ManyToMany Relationships.
I have this setup:

Model: Human
Some Humans (a small percentage) need to have M2M relationships with other Humans. Let's call this relationship "knows" (reverse relationship called "is_known_by").
To avoid setting a ManyToManyField in Humans, I made a Model FamousHumans.
FamousHumans are a special class of Human and have a OneToOneField(Human)
They also have a ManyToManyField(Humans) to represent the "knows" relationship

Here is my question:
Since Django creates reverse relationships, I assume that all Humans will have a reverse "is_known_by" relationship to FamousHumans, so there is still a M2M relationship. Is there any performance benefit to my setup?
The dataset will be rather large and only a few Humans will need the M2M relationship. My main concern is performance.