0
0 комментариев

Пытаюсь реализовать корзину с товарами для интернет магазина на django. Задача такая: хранить в сессиях ид товаров и их количество. Если товар уже есть в корзине, то количество приплюсовываем к старому количеству (добавление).

def post(self, request, **kwargs):
    post = request.POST
    item_id = int(post.get('id'))
    count = int(post.get('count'))
    if 'cart' not in request.session:
        request.session['cart'] = {}
    if item_id not in request.session['cart']:
        request.session['cart'][item_id] = count
    else:
        old = int(request.session['cart'][item_id])
        request.session['cart'][item_id] = old + count
 
    print(request.session['cart'])
    return HttpResponse(json.dumps({'result': 'success'}))

Проблема в том, что при добавлении существующего товара один из id превращается из числа в строку, из за чего в корзину добавляется уже существующий товар. Выглядит это следующим образом:

{4: 1, u'4': 1} #4 - id товара, 1 - его количество

В чем проблема?


Добавить комментарий