django object is not JSON serializable error問題解決

今天用Django1.8.2寫一個購物車系統時用到session,須要序列化一個對象實例,直接用request.session[request.user.id] = cart 這樣的方式會報沒法序列化的錯誤。django

通過查找資料和嘗試,發現緣由以下。json

從Django 1.6開始session裏面的數據都是用JSON來serialize。JSON的session只能接受簡單的數據結構好比str, list, dict。 有兩個選擇,能夠先把cart的數據放在一個dict裏面再存到 session或者能夠換一個SessionSerializer。Django還提供一個用pickle來serialize的選擇能夠存任何一個數據結構。session

 

在settings.py中加入  SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'數據結構

問題解決~spa

 

StackOverflow上也有相似的解決方案對象

http://stackoverflow.com/questions/24229397/django-object-is-not-json-serializable-error-after-upgrading-django-to-1-6-5it

相關文章
相關標籤/搜索