代码之家  ›  专栏  ›  技术社区  ›  GCP Bukalo

如何在Django中从愿望清单中删除产品?

  •  0
  • GCP Bukalo  · 技术社区  · 5 年前

    我在Django数据库中有愿望清单表 customer 与愿望清单表相关,这意味着如果客户登录,他/她就可以添加产品 wishlist ,但我正试图从客户愿望清单中删除产品,但它正在重定向回,请告诉我如何从客户愿望列表中删除产品。

    这是我的 models.py 文件。。。

    class Wishlist(models.Model):
        product = models.ForeignKey(Product, on_delete=models.CASCADE, default=None)
        customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True)
        quantity = models.IntegerField(default=0, null=True, blank=True)
        
    def __str__(self):
        return str(self.id)
    

    这是我的 views.py 文件。。。

    def deletewishlist(request, id):
        customer=request.user.customer
        Wishlist.objects.filter(customer_id=customer.id, id=id).delete()
        messages.success(request, 'Product Remove From Wishlist...')
        return HttpResponseRedirect('/wishlist')
    

    这是我的 urls.py 文件。。。

    path('wishlist_item/deleteproduct/<int:id>', views.deletewishlist, name="deletewishlist"),
    

    这是我的 delete 按钮代码,点击时从愿望清单中删除产品。。。

    <a class="primary-btn" href="/wishlist_item/deleteproduct/{{item.product.id}}" onclick="return confirm('Are you sure')">Delete</a>
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Rakesh    5 年前

    您正在查询 Wishlist id而不是 product 身份证件

    用途:

    def deletewishlist(request, id):
        customer=request.user.customer
        Wishlist.objects.filter(customer_id=customer.id, product=Product.objects.get(id=id)).delete()
        messages.success(request, 'Product Remove From Wishlist...')
        return HttpResponseRedirect('/wishlist')