当我转到url:http://127.0.0.1:8000/addToCart/1/时,它应该将产品添加到购物车中。但它正在显示>;AttributeError:“tuple”对象没有属性“product”
也许我弄错了
models.py:
class Cart(models.Model):
id = models.AutoField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True)
session_key = models.CharField(max_length=200, blank=True)
product = models.ManyToManyField(Product, related_name='product_items')
views.py:
@api_view(['GET'])
def addToCart(request, pk):
product = Product.objects.get(id=pk)
if request.user.is_authenticated: #user is authenticated
mycart = Cart.objects.get_or_create(user=request.user)
mycart.product.add(product) # <--- here is the problem
else:
print(request.session.session_key)
return Response({'response':'ok'})
URL.py:
path('addToCart/<str:pk>/', views.addToCart, name='addToCart'),
将产品添加到购物车需要更改什么
^{} [Django-doc]返回一个2元组,第一项为
Cart
对象,第二项为bool
对象,用于确定对象是否已创建因此,您应该通过以下方式来实现这一点:
相关问题 更多 >
编程相关推荐