Python 如何使购物车中的商品在附有订单号时不显示

Python 如何使购物车中的商品在附有订单号时不显示,python,django-models,django-views,Python,Django Models,Django Views,我有一个项目正在进行中,在项目中可以将项目添加到购物车。签出时,将创建一个订单,订单号绑定到该会话中购物车中的所有项目。 如果在创建订单并查看购物车后向购物车添加了更多项目,则会显示附加了订单号的项目以及添加的新项目 如何使附加了订单号的项目不显示在购物车中,因为在其签出时已附加了订单号 这是我的观点 @login_required() def cart(request): request_user = request.user items = Cart.objects.fil

我有一个项目正在进行中,在项目中可以将项目添加到购物车。签出时,将创建一个订单,订单号绑定到该会话中购物车中的所有项目。 如果在创建订单并查看购物车后向购物车添加了更多项目,则会显示附加了订单号的项目以及添加的新项目

如何使附加了订单号的项目不显示在购物车中,因为在其签出时已附加了订单号

这是我的观点

@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 is ", description
        price = request.POST['price']
        print "Price is ", price
        quantity = request.POST['quantity']
        print "Quantity is ", quantity
        client = request.user
        print "Client is ", 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 is ", 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 to template
    return render(request, "selly/order.html", {'my_order': my_order, 'order': order})
这是我的模特

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

我会将它们保存并显示在购物车中,直到结帐完成(支付),然后在它们成为实际订单后将其从购物车中删除。我打算这样做,以便用户可以拥有不同的订单