Kaydet (Commit) ad491ecc authored tarafından Damien Baty's avatar Damien Baty Kaydeden (comit) Tim Graham

Fixed #23488 -- Added AnonymousUser.get_username().

üst 8facb02f
...@@ -509,3 +509,6 @@ class AnonymousUser(object): ...@@ -509,3 +509,6 @@ class AnonymousUser(object):
def is_authenticated(self): def is_authenticated(self):
return False return False
def get_username(self):
return self.username
...@@ -41,6 +41,9 @@ class BasicTestCase(TestCase): ...@@ -41,6 +41,9 @@ class BasicTestCase(TestCase):
u.set_password(None) u.set_password(None)
self.assertFalse(u.has_usable_password()) self.assertFalse(u.has_usable_password())
# Check username getter
self.assertEqual(u.get_username(), 'testuser')
# Check authentication/permissions # Check authentication/permissions
self.assertTrue(u.is_authenticated()) self.assertTrue(u.is_authenticated())
self.assertFalse(u.is_staff) self.assertFalse(u.is_staff)
...@@ -66,6 +69,8 @@ class BasicTestCase(TestCase): ...@@ -66,6 +69,8 @@ class BasicTestCase(TestCase):
"Check the properties of the anonymous user" "Check the properties of the anonymous user"
a = AnonymousUser() a = AnonymousUser()
self.assertEqual(a.pk, None) self.assertEqual(a.pk, None)
self.assertEqual(a.username, '')
self.assertEqual(a.get_username(), '')
self.assertFalse(a.is_authenticated()) self.assertFalse(a.is_authenticated())
self.assertFalse(a.is_staff) self.assertFalse(a.is_staff)
self.assertFalse(a.is_active) self.assertFalse(a.is_active)
......
...@@ -269,6 +269,10 @@ Anonymous users ...@@ -269,6 +269,10 @@ Anonymous users
these differences: these differences:
* :ref:`id <automatic-primary-key-fields>` is always ``None``. * :ref:`id <automatic-primary-key-fields>` is always ``None``.
* :attr:`~django.contrib.auth.models.User.username` is always the empty
string.
* :meth:`~django.contrib.auth.models.User.get_username()` always returns
the empty string.
* :attr:`~django.contrib.auth.models.User.is_staff` and * :attr:`~django.contrib.auth.models.User.is_staff` and
:attr:`~django.contrib.auth.models.User.is_superuser` are always :attr:`~django.contrib.auth.models.User.is_superuser` are always
``False``. ``False``.
...@@ -285,6 +289,11 @@ Anonymous users ...@@ -285,6 +289,11 @@ Anonymous users
:meth:`~django.db.models.Model.save` and :meth:`~django.db.models.Model.save` and
:meth:`~django.db.models.Model.delete()` raise :exc:`NotImplementedError`. :meth:`~django.db.models.Model.delete()` raise :exc:`NotImplementedError`.
.. versionadded:: 1.8
``AnonymousUser.get_username()`` has been added to
better mirror :class:`django.contrib.auth.models.User`.
In practice, you probably won't need to use In practice, you probably won't need to use
:class:`~django.contrib.auth.models.AnonymousUser` objects on your own, but :class:`~django.contrib.auth.models.AnonymousUser` objects on your own, but
they're used by Web requests, as explained in the next section. they're used by Web requests, as explained in the next section.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment