Ahmed Taha
Ahmed Taha

Reputation: 13

Populating a form in template and updating new data

I tried this, but there is no update done in django.

def update_product(request):
    a= ProductForm(instance=Product.objects.get(product_id =2))#static id
    render_to_response('profiles/updateproduct.html',{'form': a},RequestContext(request))
    if request.method == "POST":
        form = ProductForm(request.POST, instance=a)
        if form.is_valid():
            j=form.save(commit=False)
            j.save
            confirmation_message = "product information updated successfully!"
        return HttpResponse("hhhh")
    else:
        form = ProductForm( instance = a )

Upvotes: 0

Views: 38

Answers (1)

ozk
ozk

Reputation: 2022

You never actually call the model's save method since you are missing (). you must supply these in order to call the method.

j = form.save(commit=False)
j.save()

As a side note, since you are not doing anything to the model before saving it, you can simply replace these two lines with

j = form.save()

no real need here for the commit=False part.

Upvotes: 2

Related Questions