在Django 2.0中创建购物车我遇到了一个奇怪的问题。 吸盘是从请求继承的对象,并存储在会话中:
class Cart(object):
def __init__(self, request, shop_u_id):
self.session_key = str(settings.CART_SESSION_ID)
self.session = request.session
cart = self.session.get(self.session_key)
if not cart:
cart = self.session[self.session_key] = {}
self.cart = cart
我对set和get方法没有问题,但是奇怪的问题 出现在总和函数中:
def get_total_price(self):
return sum(Decimal(item['price']) * item['quantity'] for item in self.cart.values())
我收到一个错误:
“十进制”类型的对象不可JSON序列化
但是get_total_price不会在会话中存储任何内容,仅用于表示。 (item ['price']存储为字符串)