summaryrefslogtreecommitdiff
path: root/django/contrib/auth/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/auth/models.py')
-rw-r--r--django/contrib/auth/models.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index 73bcfe92aa..58cc07efa9 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -92,9 +92,9 @@ class User(models.Model):
last_name = models.CharField(_('last name'), maxlength=30, blank=True)
email = models.EmailField(_('e-mail address'), blank=True)
password = models.CharField(_('password'), maxlength=128, help_text=_("Use '[algo]$[salt]$[hexdigest]'"))
- is_staff = models.BooleanField(_('staff status'), help_text=_("Designates whether the user can log into this admin site."))
+ is_staff = models.BooleanField(_('staff status'), default=False, help_text=_("Designates whether the user can log into this admin site."))
is_active = models.BooleanField(_('active'), default=True, help_text=_("Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts."))
- is_superuser = models.BooleanField(_('superuser status'), help_text=_("Designates that this user has all permissions without explicitly assigning them."))
+ is_superuser = models.BooleanField(_('superuser status'), default=False, help_text=_("Designates that this user has all permissions without explicitly assigning them."))
last_login = models.DateTimeField(_('last login'), default=models.LazyDate())
date_joined = models.DateTimeField(_('date joined'), default=models.LazyDate())
groups = models.ManyToManyField(Group, verbose_name=_('groups'), blank=True,
@@ -126,7 +126,7 @@ class User(models.Model):
def is_anonymous(self):
"Always returns False. This is a way of comparing User objects to anonymous users."
return False
-
+
def is_authenticated(self):
"""Always return True. This is a way to tell if the user has been authenticated in templates.
"""
@@ -270,6 +270,15 @@ class AnonymousUser(object):
def __str__(self):
return 'AnonymousUser'
+ def __eq__(self, other):
+ return isinstance(other, self.__class__)
+
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+ def __hash__(self):
+ return 1 # instances always return the same hash value
+
def save(self):
raise NotImplementedError
@@ -301,6 +310,6 @@ class AnonymousUser(object):
def is_anonymous(self):
return True
-
+
def is_authenticated(self):
return False