【问题标题】:Object of type 'Mycart' is not JSON serializable in Django“Mycart”类型的对象在 Django 中不是 JSON 可序列化的
【发布时间】: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 可序列化的”

【问题讨论】:

  • 你能提供追溯吗?目前还不清楚是什么引发了错误。

标签: json django serializable


【解决方案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 如果这有帮助并且可以解决您的问题,那么您可以将我的回答标记为已接受:)
猜你喜欢
  • 2020-03-04
  • 2020-12-13
  • 2019-09-22
  • 2021-08-29
  • 2022-07-01
  • 2023-01-10
  • 2019-04-29
  • 1970-01-01
  • 2020-12-02
相关资源
最近更新 更多