Пример #1
0
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'))
Пример #2
0
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'))
Пример #3
0
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"))
Пример #4
0
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}")
Пример #5
0
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'))
Пример #6
0
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'))
Пример #7
0
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'))
Пример #8
0
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'))
Пример #9
0
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'))