我正在编写用于从购物车中删除产品的代码,但是我遇到了一些问题。首先是当我单击“删除”时,产品并未从购物车中删除,其次是在我的urls.py中,我添加了正则表达式关于从购物车中删除产品的ID。但是,当我单击“删除”时,该ID不会显示在网址中。
Views.py
def remove_from_cart(request,id):
try:
the_id=request.session['cart_id']
cart = Cart.objects.get(id=the_id)
except:
return HttpResponseRedirect(reverse("cart"))
cartitem=CartItem.objects.get(id=id)
cartitem.cart=None
cartitem.save()
return HttpResponseRedirect(reverse("cart"))
models.py
class CartItem(models.Model):
cart=models.ForeignKey('Cart',on_delete=models.SET_NULL,null=True,blank=True)
product=models.ForeignKey(Product,on_delete=models.SET_NULL,null=True,blank=True)
accessory = models.ForeignKey(Accessories,on_delete=models.SET_NULL,null=True,blank=True)
quantity=models.IntegerField(default=1)
updated = models.DateTimeField(auto_now_add=True,auto_now=False)
line_total=models.DecimalField(default=10.99,max_digits=1000,decimal_places=2)
timestamp = models.DateTimeField(auto_now_add=True,auto_now=False)
def __unicode__(self):
try:
return str(self.cart.id)
except:
return self.product.title
urls.py
url(r'^cart/(?P<id>\d+)/$', remove_from_cart, name='remove_from_cart'),
template.html
<td><a href="{% url 'remove_from_cart' item.id %}">Remove</a></td>
请问有谁能帮上忙吗?
注意::我在stackoverflow上搜索了不同的链接,但没有帮助。
答案 0 :(得分:0)
您要向模板发送什么查询,您可以提供吗?
def remove_from_cart(request, id):
the_id = request.session['cart_id']
card = Cart.objects.filter(id=the_id)
if card.exists():
cartitem = CartItem.objects.filter(card_id=card.first().id)
if cartitem.exists():
cartitem.delete()
return HttpResponseRedirect(reverse("cart"))
return HttpResponseRedirect(reverse("cart"))