【问题标题】:Object of type decimal is not JSON serializable error in Django十进制类型的对象不是 Django 中的 JSON 可序列化错误
【发布时间】:2023-03-15 01:52:02
【问题描述】:

我正在按照“示例 Django 2”一书在 Django 中创建电子商务网站。但是,当我尝试在下一行的 request.session 中保存订单 ID 时,我得到“Decimal 类型的对象不是 JSON 可序列化的”。

    request.session['order_id'] = order.id

    def order_create(request):
cart = Cart(request)
if request.method == 'POST':
    form = OrderCreateForm(request.POST)
    if form.is_valid():
        order = form.save()
        for item in cart:
            OrderItem.objects.create(
                order=order, product=item['product'], price=item['price'], quantity=item['quantity'])

        # cart.clear()
        order_created.delay(order.id)

        request.session['order_id'] = order.id

        return redirect(reverse('payment:process'))
else:
    form = OrderCreateForm()

return render(request, 'orders/order/create.html', {'cart': cart, 'form': form})

【问题讨论】:

    标签: python django


    【解决方案1】:

    我猜我们遵循了相同的教程,因为您的观点看起来很像我的观点。如果是这种情况,那么问题很可能出在cart.py 文件中。尝试摆脱其中的十进制函数。这可能不是最好的解决方案,但我就是这样解决这个问题的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-29
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2022-12-21
      • 2021-01-19
      • 2020-03-04
      • 2022-09-28
      相关资源
      最近更新 更多