Skip to content
This repository has been archived by the owner on Dec 31, 2021. It is now read-only.

Models: Person

kgdunn edited this page May 5, 2011 · 8 revisions

Person (user account)

The user is only required to specify their username and email address. All other information is automatically captured or optional, with reasonable defaults. We will subclass Django's django.contrib.auth class for user authentication, which handles passwords in a properly salted and encrypted manner.

  • username: any username. We don't want to deal with first name/last name issues that are different across countries.
  • email: user's email address. unique in database
  • is_validated: email address, i.e. user's identity has been verified by a challenge/response email
  • is_active: Django field: set to False to disable user, rather then deleting all their info. This is to keep their previous contributions from disappearing. We can also completely delete user and all their contributions.
  • affiliation: company, university, personal, etc
  • country: where the user is based
  • profile: a one-line profile about yourself
  • avatar: user uploaded image, or obtained via Gravatar
  • URI: a user-provided URL to their own site or affiliated company
  • n_views: number of times the user's profile has been viewed
  • interests: a list of tags/subject areas that describes the user's interests
  • last_login: datetime of last sign in
  • date_joined: datetime of account creation
  • openid_uri: user's optional OpenID URI
  • is_superuser: Django field: user has all permissions (default=False)
  • is_staff: Django field: user can access the backend admin site (default=False)
  • reputation: an integer ranking (in the spirit of StackOverflow)
  • contactable_via_site: user allows being contacted via website by other registered users (default=True)
  • allow_user_to_email: allow/disallow user to send emails via the site (default=True); used to stop abusive users

ForeignKeys pointing back to this model

Clone this wiki locally