Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #2937 -- Added __eq__, __ne__ and __hash__ for AnonymousUser. T…

…hanks, favo@exoweb.net

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3924 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 179d410a7acbb93a6d089a2184b09fead4b263ec 1 parent cacbede
@adrianholovaty adrianholovaty authored
Showing with 11 additions and 2 deletions.
  1. +11 −2 django/contrib/auth/models.py
View
13 django/contrib/auth/models.py
@@ -126,7 +126,7 @@ def get_absolute_url(self):
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 @@ def __init__(self):
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 @@ def get_and_delete_messages(self):
def is_anonymous(self):
return True
-
+
def is_authenticated(self):
return False
Please sign in to comment.
Something went wrong with that request. Please try again.