使用请求继承的对象

时间:2018-07-03 11:09:12

标签: python django session

在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']存储为字符串)

enter image description here

0 个答案:

没有答案