[英]Error Matching query does not exist Django
我想咨詢一個我遇到的問題,在我的系統中,我希望這個視圖能夠為我提供由其主鍵選擇的產品,即 id,這是通過切換窗口中的表單完成的
視圖.py
def add(request):
cart = get_or_create_cart(request)
productos = Producto.objects.get(pk=request.POST.get('producto_id'))
cart.productos.add(productos)
return render(request, 'carts/add.html', {
'productos': productos
})
模型.py
class Cart(models.Model):
cart_id = models.CharField(max_length=100, null=False, blank=False, unique=True)
user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
productos = models.ManyToManyField(Producto)
subtotal = models.DecimalField(default=0.0, max_digits=8, decimal_places=2)
total = models.DecimalField(default=0.0, max_digits=8, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.cart_id
HTML
{% csrf_token %}
<form action="{% url 'Carts:add' %}" method="post">
<input type="hidden" name="producto_id" value="{{ producto.id }}">
<button type="submit" class="btn btn-warning">Agregar al carrito</button>
</form>
您的請求方法是 GET。 在視圖中,嘗試使用request.GET.get(arg)
而不是 POST。
PS 您可以將第二個參數設置為空,即request.GET.get('arg', None)
或request.GET.get('arg', ' ')
。 另外,嘗試使用filter()而不是 get()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.