سلام استاد
همانطور که مشاهده می فرمایید وقتی سفارش خرید محصولی که قبلا به سبد اضافه شده است،مجددا توسط کابر سفارش داده میشود بجای افزودن به تعداد همان کالای قبلی،کالا در ردیف جداگانه ثبت میشود(درج دو ردیف برای یک نمونه از محصول)
سلام میتونی از کد من الگو بگیری :
@login_required(login_url="/login")
def add_user_order(request):
order_form = OrderForm(request.POST or None)
if order_form.is_valid():
basket = Basket.objects.filter(owner_id=request.user.id, is_paid=False).first()
if basket is None:
basket = Basket.objects.create(owner_id=request.user.id, is_paid=False)
product_id = order_form.cleaned_data.get('product_id')
count = order_form.cleaned_data.get('count')
product = Product.objects.get(id=product_id)
if count < 1:
count = 1
try:
order_detail = OrderDetail.objects.get_queryset().get(basket__owner_id=request.user.id , product=product)
order_detail.count += count
order_detail.save()
messages.success(request, 'محصول با موفقیت به سبد خرید شما اضافه شد', 'success')
return redirect(f"/products/{product.id}/{product.title.replace(' ', '-')}")
except OrderDetail.DoesNotExist:
basket.orderdetail_set.create(product=product, price=product.price, count=count,
basket=request.user.get_full_name())
messages.success(request,'محصول با موفقیت به سبد خرید شما اضافه شد','success')
return redirect(f"/products/{product.id}/{product.title.replace(' ', '-')}")
من از کد شما استفاده کردم ولی تغییری ایجاد نکرد امکانش هست یکم بیشتر توضیح بدید در موردش