我是Django的初学者。我的问题是我正在更新我的记录,但它正在添加一个新记录,而不是更新旧记录
我哪里出错了
视图.py
class EditProduct(TemplateView):
template_name = 'stock/editproduct.html'
def get(self, request, product_id):
productedit = get_object_or_404(Product, pk=product_id)
data=Product.objects.get(id=product_id)
form = EditProductForm(instance=data)
args = {'form':form, 'productedit':productedit}
return render(request, self.template_name, args)
def post(self, request, product_id):
form = EditProductForm(request.POST, request.FILES)
if form.is_valid():
productadded = form.save(commit=False)
productadded.saler = request.user
productadded.pub_date = timezone.datetime.now()
productadded.save()
return redirect('stock')
else:
args = {'form': form}
return render(request, self.template_name, args)
我假设stock是包含views.py、models.py、url.py的应用程序/文件夹的名称
views.py有关UpdateViews的文档,请参见here
url.py
下面的代码片段可以添加到要更新的产品页面的html中,这通常是由details views类或函数生成的产品详细信息页面
在该页面上添加一个按钮,将您带到更新页面,并传入您要更新的产品的id
相关问题 更多 >
编程相关推荐