【发布时间】:2020-08-28 20:40:16
【问题描述】:
大家好,我需要帮助,在尝试我的 dd to cart 按钮时,我收到了这条消息。
/add-to-cart/test-product1/ 处的字段错误 无法将关键字“有序”解析为字段。选项有:id、item、item_id、order、quantity
my views.py for the add to cart function.
def add_to_cart(request, slug):
item = get_object_or_404(Item, slug=slug)
order_item, created = OrderItem.objects.get_or_create(
item=item,
user=request.user,
ordered=False
)
order_qs = Order.objects.filter(user=request.user, ordered=False)
if order_qs.exists():
order = order_qs[0]
# check if the order item is in the order
if order.items.filter(item__slug=item.slug).exists():
order_item.quantity += 1
order_item.save()
else:
ordered_date = timezone.now()
order = Order.objects.create(user=request.user,
ordered_date=ordered_date)
order.items.add(order_item)
return redirect("store:product", slug=slug)
我的模型.py
class Order(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
item = models.ManyToManyField(OrderItem)
start_date = models.DateTimeField(auto_now_add=True)
ordered_date = models.DateTimeField()
ordered = models.BooleanField(default=False)
def __str__(self):
return self.user.username
【问题讨论】:
-
这意味着
ordered=False不作为字段存在。请注意,这是OrderItem模型,而不是Order模型。 -
这是我的订单商品模型 OrderItem(models.Model): item = models.ForeignKey(Item, on_delete=models.CASCADE) quantity = models.IntegerField(default=1) def __str__(self) : return f"{self.item.quantity} of {self.item.title}"
标签: javascript python html css django