У меня странная проблема с созданием корзины I в Django 2.0.
Sopping cart - это объект, унаследованный от запроса и сохраненный в сеансе:
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 ничего не хранит в сессии, это только для представления. (элемент ['цена'] хранится в виде строки)
![enter image description here](https://i.stack.imgur.com/9Kw9A.png)