Fixed #22849 -- Added Session.__str__()
This commit is contained in:
parent
64e75c47ef
commit
b157ffdbb9
|
@ -1,6 +1,7 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
|
@ -20,6 +21,7 @@ class SessionManager(models.Manager):
|
|||
return s
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Session(models.Model):
|
||||
"""
|
||||
Django provides full support for anonymous sessions. The session
|
||||
|
@ -48,6 +50,9 @@ class Session(models.Model):
|
|||
verbose_name = _('session')
|
||||
verbose_name_plural = _('sessions')
|
||||
|
||||
def __str__(self):
|
||||
return self.session_key
|
||||
|
||||
def get_decoded(self):
|
||||
return SessionStore().decode(self.session_data)
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ from django.test import TestCase, RequestFactory, override_settings
|
|||
from django.test.utils import patch_logger
|
||||
from django.utils import six
|
||||
from django.utils import timezone
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
from django.contrib.sessions.exceptions import InvalidSessionKey
|
||||
|
||||
|
@ -310,6 +311,16 @@ class DatabaseSessionTests(SessionTestsMixin, TestCase):
|
|||
|
||||
backend = DatabaseSession
|
||||
|
||||
def test_session_str(self):
|
||||
"Session repr should be the session key."
|
||||
self.session['x'] = 1
|
||||
self.session.save()
|
||||
|
||||
session_key = self.session.session_key
|
||||
s = Session.objects.get(session_key=session_key)
|
||||
|
||||
self.assertEqual(force_text(s), session_key)
|
||||
|
||||
def test_session_get_decoded(self):
|
||||
"""
|
||||
Test we can use Session.get_decoded to retrieve data stored
|
||||
|
|
Loading…
Reference in New Issue