Let\'s use the classic example of friends.
class Friendship(models.Model):
user1 = models.ForeignKey(User, related_name=\'friends1\')
user2 = models.
Check out the symmetrical option of ManyToManyField in the docs -- sounds like it can do what you want.
For the specific way you're doing it, I'd do something like
class LameUserExtension(User):
friends = ManyToManyField("self", through=Friendship)
class Friendship(models.Model):
# the stuff you had here