簡體   English   中英

錯誤匹配查詢不存在 Django

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM