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

Python Django中的异常值:(无法解析关键字),python,django,django-3.0,Python,Django,Django 3.0,我即将制作一个简单的网店,目前正在制作我的“添加到购物车”按钮 当我现在单击“添加到购物车”按钮时,它返回一个错误,如下所示: FieldError at /add-to-cart/box-1/ Exception Value: Cannot resolve keyword 'ordered' into field. Choices are: box, box_id, id, order, quantity, title 相关代码 视图。py: def add_to_cart(req

我即将制作一个简单的网店,目前正在制作我的“添加到购物车”按钮

当我现在单击“添加到购物车”按钮时,它返回一个错误,如下所示:

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

Exception Value:    
Cannot resolve keyword 'ordered' into field. Choices are: box, box_id, id, order, quantity, title
相关代码 视图。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)
型号.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
型号有。因此,在不太了解项目的情况下,您需要为
订单
模型而不是
订单箱
创建查询集,或者根据相关的
订单
模型过滤
订单箱
查询集(如果它们相关,则从错误消息中列出的可用字段中显示)。如果是这样的话,你可以
尝试
OrderBox.objects.filter(order\uuu user=request.user,order\uu ordered=False)

看起来
OrderBox
没有名为
ordered
的字段(或者
user
),而您的
order
模型有。因此,在不太了解项目的情况下,您需要为
订单
模型而不是
订单箱
创建查询集,或者根据相关的
订单
模型过滤
订单箱
查询集(如果它们相关,则从错误消息中列出的可用字段中显示)。如果是这样的话,你可以
尝试
OrderBox.objects.filter(order\uu user=request.user,order\uu ordered=False)

问题在于:
OrderBox.objects.filter(user=request.user,ordered=False)
ordered
不是有效的关键字参数。在您的
订单
模型上有一个
ordered
字段,但在
OrderBox
模型上没有,因此在查询
OrderBox
es时该字段无效。问题在于:
OrderBox.objects.filter(user=request.user,ordered=False)
ordered
不是有效的关键字参数。在您的
订单
模型上有一个
ordered
字段,但在
OrderBox
模型上没有,因此在查询
OrderBox
时该字段无效。