i have project working on, in project item(s) can added cart. when checked-out order created order_number tied item(s) in cart @ session. if more items added cart after when order have been created , cart viewed, shows items has order_number attached , and new items added.
how make items have order_number attached not display in cart since order_number has been attached when checked-out.
here views.py
@login_required() def cart(request): request_user = request.user items = cart.objects.filter(client=request_user) if request.method == "post": print "rp ", request.post docfile = request.post['docfile'] print "docfile", docfile description = request.post['description'] print "description ", description price = request.post['price'] print "price ", price quantity = request.post['quantity'] print "quantity ", quantity client = request.user print "client ", client item, created = cart.objects.get_or_create(client=client, description=description, price=price, quantity=quantity) item.save() return render(request, 'selly/cart.html', {'items': items}) @login_required def order(request): order_number = create_id() print "order number", order_number request_user = request.user all_items = cart.objects.filter(client=request_user, ordered=false) print "all item", all_items if request.method == "post": client = request.user # print "client ", client location=request.user.signup.country # print "location ", location item, created = order.objects.get_or_create(order_number=order_number, client=client, location=location) item.save() order = order.objects.filter(order_number = order_number) print "order", order all_items.update(ordered = true, order = order[0]) my_order = order.objects.filter(client=request_user) #populate client's order template return render(request, "selly/order.html", {'my_order': my_order, 'order': order})
here models.py
class cart(models.model): client = models.foreignkey(user, null=true) description = models.charfield(max_length = 100) price = models.decimalfield(max_digits=10, decimal_places=2) quantity = models.positiveintegerfield() ordered = models.booleanfield(default=false) order = models.foreignkey('order', blank=true, null=true) created_on = models.datetimefield(auto_now_add = true) def __str__(self): return self.description def total(self): return self.price * self.quantity class order(models.model): client = models.foreignkey(user, null=true) order_number = models.charfield(max_length = 12) location = models.charfield(max_length=12) payment_status = models.charfield(max_length=20, choices = payment_status, default='pending') shipment_status = models.charfield(max_length=20, choices = shipment_status, default='pending') created_on = models.datetimefield(auto_now_add = true) def __str__(self): return self.order_number
Comments
Post a Comment