1๐
โ
use this:
def customeradd(request, id=None):
if id:
customer = Customer.objects.get(pk = id)
else:
customer = Customer()
if request.method == 'POST':
form = CustomerAddForm(request.POST, instance=customer)
if form.is_valid():
form.save()
messages.success(request, 'Customer added succesfully')
return HttpResponseRedirect('/customeroverview/')
else:
messages.error(request, 'Customer save error, please check fields below')
else:
form = CustomerAddForm(instance = customer)
return render_to_response("customer-add.html",
{"customer_add_form": form},
context_instance=RequestContext(request))
and replace
self.helper.form_action = '/customeradd/'
with
self.helper.form_action = ''
in your forms.py
๐คHasan Ramezani
0๐
You can use a specific function to edit a customer:
@require_POST
@csrf_protect
def customeredit(request, id=None):
edited_customer = CustomerAddForm(request.POST)
if edited_customer.is_valid():
customer = edited_customer.save(commit=False)
customer.id = id
customer.save()
messages.success(request, 'Customer edited succesfully')
return HttpResponseRedirect('/customeroverview/')
else:
messages.error(request, 'Customer save error, please check fields below')
return render_to_response("customer-add.html",
{"customer_add_form": edited_customer},
context_instance=RequestContext(request))
That means you need to modify urls.py
url(r'^customeredit/(?P<id>\w+)$', 'customer.views.customeraedit', name='customeredit'),
๐คaldo_vw
Source:stackexchange.com