Fixed #2937 -- Added __eq__, __ne__ and __hash__ for AnonymousUser. Thanks, favo@exoweb.net

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3924 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-10-24 16:42:03 +00:00
parent cacbedee27
commit 179d410a7a
1 changed files with 11 additions and 2 deletions

View File

@ -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