Как я могу обновить существующую запись, а не добавить новую, которая является моей проблемой.Прямо сейчас я пытаюсь отредактировать существующие данные о продукте в форме редактирования и сохранить новые изменения.Но вместо того, чтобы обновлять существующие данные о продукте, я получаю новый продукт, поэтому все дублируется.Новый продукт создается вместо того, чтобы обновлять существующие данные.Что я могу сделать, чтобы решить эту проблему?
Вот мой код:
@login_required
def edit(request, id=None):
if request.method == 'POST':
form = ProductForm(request.POST)
if form.is_valid():
product = form.save( commit=False )
product.save()
return HttpResponseRedirect( '/details/%s/' % ( product.id ) )
Eternicode, спасибо за отличный ответ, код теперь работает нормально, и данные не дублируются, поскольку ясохраните форму после того, как дата будет отредактирована.На основании вашего ответа вот что работает:
@login_required
def edit(request, id=None):
if request.method == 'POST':
product = Product.objects.get(id__exact=id)
form = ProductForm(request.POST, instance=product)
print "PRODUCT POST"
if form.is_valid():
print "Display Form"
product = form.save( commit=False )
product.save()
return HttpResponseRedirect( '/details/%s/' % ( product.id ) )