Я храню словари в моей сессии, на которые ссылается строковый ключ:
>>> request.session['my_dict'] = {'a': 1, 'b': 2, 'c': 3}
Проблема, с которой я столкнулся, заключалась в том, что при непосредственном изменении словаря значение не будет изменено во время следующего запроса:
>>> request.session['my_dict'].pop('c')
3
>>> request.session.has_key('c')
False
# looks okay...
...
# Next request
>>> request.session.has_key('c')
True
# what gives!