mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #12163 -- Corrected the unpickling of non-deferred models. Thanks to rfugger for the report and test case.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11732 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
3f8f3f8411
commit
632f12fba4
2 changed files with 33 additions and 5 deletions
|
@ -115,6 +115,23 @@ u'c1'
|
|||
>>> results[0].second_child.name
|
||||
u'c2'
|
||||
|
||||
# Test for #12163 - Pickling error saving session with unsaved model instances.
|
||||
>>> from django.contrib.sessions.backends.db import SessionStore
|
||||
>>> SESSION_KEY = '2b1189a188b44ad18c35e1baac6ceead'
|
||||
>>> item = Item()
|
||||
>>> item._deferred
|
||||
False
|
||||
>>> s = SessionStore(SESSION_KEY)
|
||||
>>> s.clear()
|
||||
>>> s['item'] = item
|
||||
>>> s.save()
|
||||
>>> s = SessionStore(SESSION_KEY)
|
||||
>>> s.modified = True
|
||||
>>> s.save()
|
||||
>>> i2 = s['item']
|
||||
>>> i2._deferred # Item must still be non-deferred
|
||||
False
|
||||
|
||||
# Finally, we need to flush the app cache for the defer module.
|
||||
# Using only/defer creates some artifical entries in the app cache
|
||||
# that messes up later tests. Purge all entries, just to be sure.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue