def add_to_cart(request, num=1): if request.method == "POST": food_id = request.POST['foodId'] food = Food.objects.get(id=food_id) cart_session = request.session.get('cart', None) # Lineitem save in cart # session is empty if not cart_session: # 购物车中不存在物品的情况 cart = Cart() li = LineItem() li.food = food li.unite_price = food.price li.quantity = num li.save() cart.add_product(li, num) else: cart = pickle_load(cart_session) has_food = False for li in cart.items: if li.food.id == food.id: li.quantity += num has_food = True cart.total_price += food.price * num if not has_food: li = LineItem() li.food = food li.unite_price = food.price li.quantity = num li.save() cart.add_product(li, num) cart.total_price = round(cart.total_price, 2) data = pickle_dump(cart) request.session['cart'] = data return HttpResponse(cart.total_price) else: logger.error('Get Request to add_to_cart') return HttpResponse('request method err')
def GetLineItemData(self): lineItem = LineItem() lineItem.type = "suit" lineItem.quantity = 1 return lineItem