Descriptive relationships between auth.users::
In [4]: john.relationships.friends()
Out[4]: [<User: Yoko>]
In [5]: john.relationships.following()
Out[5]: [<User: Paul>, <User: Yoko>]
In [6]: john.relationships.followers()
Out[6]: [<User: Yoko>]
In [7]: john.relationships.blockers()
Out[7]: [<User: Paul>]
In [8]: paul.relationships.blocking()
Out[8]: [<User: John>]
You can create as many types of relationships as you like, or just use the default ones, 'following' and 'blocking'.
Relationship types define each of the following cases:
Relationship types can be login_required, or private, and if you want to make a relationship type unviewable (i.e. you may not want to allow users to see who is blocking them), simply give it a unmatchable slug, like '!blockers'.
Relationships hook right into the pre-existing User admin, and appear below the 'Groups' inline.
python setup.py install
OR
put the relationships
folder on your python-path