(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
), он работает нормально и происходит следующее:
Затем, когда я посещаю url во второй раз, происходит следующее:
Это очень странно, потому что он добавил еще 2 продукта. Дело в том, что иногда он добавляет 1 или 3. Абсолютно не стабилизируется. Это очень странно и мой код очень простой. Я не могу его понять.