(Django) Моя функция запускается дважды без причины

вот мое мнение:

def add_to_cart (request, pk):
    item = models.Product.objects.get(product_id = pk)
    user = request.user
    custom_user = models.CustomUser.objects.get(user = user)
    cart = models.Cart.objects.get(user = custom_user)

    if cart_products == "":
        cart.products = f"{str(pk)}={item.product_name}={item.product_price}"
    else:
        cart.products += f":{str(pk)}={item.product_name}={item.product_price}"

    print(cart.products)
    print(cart)

    cart.save()

    return redirect("/")

А это мой url:

path('products/add-cart/<pk>', views.add_to_cart, name="add_to_cart")

Довольно просто. Но когда я посещаю 127.0.0.1:8000/products/add-cart/1 url,

Если это мой первый визит по этому url (что означает, что if cart_products == "" является True), он работает нормально и происходит следующее: first condition

Затем, когда я посещаю url во второй раз, происходит следующее: 2nd

Это очень странно, потому что он добавил еще 2 продукта. Дело в том, что иногда он добавляет 1 или 3. Абсолютно не стабилизируется. Это очень странно и мой код очень простой. Я не могу его понять.

Вернуться на верх