def basket_add(request, pk): if 'login' in request.META.get('HTTP_REFERER'): return HttpResponseRedirect(reverse('product', args=[pk])) product = get_object_or_404(Product, pk=pk) _basket = Basket.objects.filter(user=request.user, product=product).first() if not _basket: _basket = Basket(user=request.user, product=product) _basket.quantity = 1 else: # _basket.quantity += 1 # перепишем через F-объект _basket.quantity = F('quantity') + 1 _basket.save() return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def basket_add(request, product_id=None): product = Product.objects.get(id=product_id) baskets = Basket.objects.filter(user=request.user, product=product) if not baskets.exists(): basket = Basket(user=request.user, product=product) basket.quantity = 1 basket.save() else: basket = baskets.first() basket.quantity += 1 basket.save() return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def basket_add(request, category_pk, product_pk): if "login" in request.META.get("HTTP_REFERER"): return HttpResponseRedirect(reverse("catalog:product", args=[category_pk, product_pk])) product = get_object_or_404(Product, pk=product_pk) basket = Basket.objects.filter(user=request.user, product=product).first() if not basket: basket = Basket(user=request.user, product=product) if product.quantity > 0: basket.quantity += 1 basket.save() else: basket.quantity = F("quantity") + 1 basket.save() return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
def basket_add(request, pk): if "login" in request.META.get("HTTP_REFERER"): return HttpResponseRedirect(reverse("products:product", args=[pk])) product = get_object_or_404(Product, pk=pk) basket = Basket.objects.filter(user=request.user, product=product).first() if not basket: basket = Basket(user=request.user, product=product) basket.quantity += 1 else: basket.quantity = F("quantity") + 1 basket.save() update_queries = list(filter(lambda x: "UPDATE" in x["sql"], connection.queries)) print(f"query basket_add: {update_queries}")
def basket_add(request, pk): product = get_object_or_404(Product, pk=pk) basket = Basket.objects.filter(user=request.user, product=product).first() if not basket: basket = Basket(user=request.user, product=product) basket.quantity += 1 else: basket.quantity = F('quantity') + 1 basket.save() if 'login' in request.META.get('HTTP_REFERER'): return HttpResponseRedirect(reverse('products:details', args=[pk])) return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def add(request, pk): if 'login' in request.META.get('HTTP_REFERER'): return HttpResponseRedirect(reverse('mainapp:product', args=[pk])) product = get_object_or_404(Product, pk=pk) basket_item = Basket.objects.filter(user=request.user, product=product).first() print(basket_item) if not basket_item: basket_item = Basket(user=request.user, product=product) basket_item.quantity += 1 else: # basket_item.quantity += 1 basket_item.quantity = F('quantity') + 1 basket_item.save() update_queries = list( filter(lambda x: 'UPDATE' in x['sql'], connection.queries)) print(f'запрос корзины: {update_queries}') return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def add(request, pk): if 'login' in request.META.get('HTTP_REFERER'): return HttpResponseRedirect( reverse('main:product', kwargs={ 'pk': pk, })) product = get_object_or_404(Product, pk=pk) basket = Basket.objects.filter(user=request.user, product=product).first() if not basket: basket = Basket(user=request.user, product=product, quantity=1) else: basket.quantity = F('quantity') + 1 # basket.quantity += 1 basket.save() # basket_summary return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def add(request, pk): product = get_object_or_404(Product, pk=pk) exists_item = Basket.objects.filter(product__pk=pk, user=request.user) if exists_item: exists_item[0].quantity += 1 exists_item[0].save() else: new_item = Basket(user=request.user, product=product) new_item.quantity = 1 new_item.save() if request.is_ajax(): return JsonResponse( {'quantity': Basket.objects.get(product__pk=pk).quantity}) if 'login' in request.META.get('HTTP_REFERER'): return HttpResponseRedirect('/catalog/details/' + str(product.id)) else: return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
def add(request, pk): card = get_object_or_404(Card, pk=pk) basket = Basket.objects.filter(user=request.user, card=card).only('pk').first() if not basket: basket = Basket(user=request.user, card=card, quantity=1) basket.save() else: # basket.quantity += 1 basket.quantity = F('quantity') + 1 basket.save() if request.is_ajax(): return JsonResponse({ 'basket_total_quantity': basket.total_quantity, 'basket_total_cost': basket.total_cost }) else: return HttpResponseRedirect(request.META.get('HTTP_REFERER'))