gpt4 book ai didi

python - Django 不使用 UpdateView 进行更新

转载 作者:行者123 更新时间:2023-12-01 01:21:52 27 4
gpt4 key购买 nike

我有这个 View 来显示之前填充的数据,这些数据仅在管理面板中填充:

from .models import (Token,
Sell,
LogisticCost,
IncomeCost,
FinalPayment,
CustomerServiceCost,
Fatura)
def product_list(request):
context = {'product_list': ProductList.objects.filter(client=request.user.id).all(),
'data_payment': Fatura.objects.all()}
return render(request, 'Clientes/list_products.html', context)

这是更新这些值的 View :

class UpdateProduct(UpdateView):
model = ProductList
context_object_name = 'product_list'
template_name = 'Clientes/update_product.html'
fields = ['name', 'description', 'cost_price', 'sell_price', 'ncm']

我在更新页面的表单是:

<form method="post" action="{% url 'client:product_list' %}">
{% csrf_token %}
{{ form }}
<button class="btn btn-inverse" type="submit">Atualizar</button>
</form>

我的更新页面按预期工作,显示与所选对象相关的每个值,但当我提交表单时,模型并未更改。不更新值会发生什么情况?

最佳答案

您正在将表单提交到 product_list View - 您应该将其提交到更新 View 。

根据您的网址,表单应类似于:

<form method="post" action="{% url 'client:update_product' product_list.pk %}">

关于python - Django 不使用 UpdateView 进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744432/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com