class Product(models.Model):
title = models.CharField(max_length=120)
slug = models.SlugField(blank=True)
description = models.TextField()
price = models.DecimalField(decimal_places=2, max_digits=20, default=39.99)
image = models.ImageField(upload_to=upload_image_path,null=True, blank=True)
featured = models.BooleanField(default=False)
# quantity = models.IntegerField(default=1, null=True, blank=True)
active = models.BooleanField(default=True)
timestamp = models.DateTimeField(auto_now_add=True)
class OrderItem(models.Model):
user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
ordered = models.BooleanField(default=False)
item = models.ForeignKey(Product, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
class Cart(models.Model):
user = models.ForeignKey(User,null=True, blank=True,on_delete=models.CASCADE)
products = models.ManyToManyField(OrderItem, blank=True)
subtotal = models.DecimalField(default=0.00, max_digits=100, decimal_places=2)
total = models.DecimalField(default=0.00,max_digits=100,decimal_places=2)
updated = models.DateTimeField(auto_now=True)
timestamp = models.DateTimeField(auto_now_add=True)
"""i am trying to create a ecom website and trying to add products in cart without login
the below code works with login user as request.user how to change it with guest user
"""
def add_cart(request, slug):
item = get_object_or_404(Product,slug=slug)
order_item ,created = OrderItem.objects.get_or_create(
user=request.user,
item =item,
)
print(order_item)
order_qs = Cart.objects.filter(user=request.user)
if order_qs.exists():
order= order_qs[0]
# check if the order item is in the order
if order.products.filter(item__slug=item.slug).exists():
order_item.quantity+= 1
order_item.save()
print("1")
else:
order.products.add(order_item)
else:
order = Cart.objects.create(
user=request.user
)
order.products.add(order_item)
print("done")
return redirect("cart:home")
I am trying to create a ecom website and trying to add products in cart without the below code works with login user with request.user how to change it with guest user and perform add cart and and quandity to products as guest user