异常值:(无法解析关键字)在 Django 中

Exception Value: (Cannot resolve keyword) In Django

我将要创建一个简单的网上商店,目前正在处理我的“添加到购物车”按钮。

当我现在点击添加到购物车按钮时,returns出现如下错误:

FieldError at /add-to-cart/box-1/

Exception Value:    
Cannot resolve keyword 'ordered' into field. Choices are: box, box_id, id, order, quantity, title

相关代码

views.py:

def add_to_cart(request, slug):
    # Get the item from the slug via get_object_or_404 method
    box = get_object_or_404(Box, slug=slug)
    # Check if the user have an order
    order_box = OrderBox.objects.create(box=box)
    order_qs = OrderBox.objects.filter(user=request.user, ordered=False)

    if order_qs.exists():
        order = order_qs[0]
        # Check if order item is in the order
        if order.box.filter(box__slug=box.slug).exists():
            order_box.quantity += 1
            order_box.save()
    else:
        ordered_date = timezone.now()
        order = Order.objects.create(user=request.user, ordered_date=ordered_date)
        order.items.add(order_box)

    return redirect('webshop:shop-box', slug=slug)

models.py

class Order(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    items = models.ManyToManyField(OrderBox)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField()
    ordered = models.BooleanField(default=False)

    def __str__(self):
        return self.user.username

我一直在搜索,可以找到关于这个主题的不同问题,但是我不明白问题是什么。 如果您能帮助我找出错误的地方,我将不胜感激,谢谢!

看起来 OrderBox 没有名为 ordered(或 user 的字段),您的 Order 模型有。因此,在不太了解您的项目的情况下,您需要为您的 Order 模型而不是 OrderBox 创建一个查询集,或者通过它们相关的 Order 模型过滤您的 OrderBox 查询集(如果它们是相关的,则从错误消息中列出的可用字段看来是相关的)。如果是这种情况,您可以 尝试 OrderBox.objects.filter(order__user=request.user, order__ordered=False)