scotu / django-relationships

Descriptive relationships between auth.users (think facebook friends and twitter followers, plus more)

Home Page:http://django-relationships.readthedocs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

django-relationships

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'.

From, To and Symmetrical

Relationship types define each of the following cases:

  • from - 'following', who I am following
  • to - 'followers', who is following me
  • symmetrical - 'friends', we follow eachother

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'.

Admin Interface

Relationships hook right into the pre-existing User admin, and appear below the 'Groups' inline.

Installation

python setup.py install

OR

put the relationships folder on your python-path

About

Descriptive relationships between auth.users (think facebook friends and twitter followers, plus more)

http://django-relationships.readthedocs.org

License:MIT License