“Mycart”类型的对象在 Django 中不是 JSON 可序列化的
Posted
技术标签:
【中文标题】“Mycart”类型的对象在 Django 中不是 JSON 可序列化的【英文标题】:Object of type 'Mycart' is not JSON serializable in Django 【发布时间】:2019-06-25 06:33:30 【问题描述】:我想将字典(具有模型)数据类型对象添加到 request.session 但得到“'Mycart' 类型的对象在 Django 中不是 JSON 可序列化的”
product_details =
for product in products_in_cart:
product_details.update(product.id:
(product,request.POST['quantity'+str(product.product.id)]))
request.session['product_details'] = product_details
我希望字典在会话中更新,但实际输出是“'Mycart' 类型的对象在 Django 中不是 JSON 可序列化的”
【问题讨论】:
你能提供追溯吗?目前还不清楚是什么引发了错误。 【参考方案1】:问题在于product
,它是字典中元组的第一个参数。您需要先对其进行序列化,然后才能在元组中使用它,如下所示:
from django.core import serializers
product_details =
for product in products_in_cart:
s_product = serializers.serialize("json", [product])
product_details.update(product.id:
(s_product,request.POST['quantity'+str(product.id)]))
request.session['product_details'] = product_details
【讨论】:
@vipinsharma 如果这有帮助并且可以解决您的问题,那么您可以将我的回答标记为已接受:)以上是关于“Mycart”类型的对象在 Django 中不是 JSON 可序列化的的主要内容,如果未能解决你的问题,请参考以下文章
QuerySet 类型的对象不是 JSON 可序列化的 Django
Django TypeError:用户类型的对象不是 JSON 可序列化的